我正在使用MVC4视图页面,我试图通过单击按钮从文本框向我的MS SQL数据库插入数据。我正在努力这样做,我想问题是“con.open()”,但我不知道在哪里声明它。这是我的代码:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage" %>
<script runat="server">
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["GreenEnergyConnectionString1"].ConnectionString);
protected void Button1_Click(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("insert into CUSTOMER values ('"+TextBox2.Text+"', '"+TextBox3.Text+"', '"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"', '"+TextBox7.Text+"', '"+TextBox8.Text+"')",con);
cmd.ExecuteNonQuery();
con.Close();
TextBox8.Text = "";
TextBox7.Text = "";
TextBox6.Text = "";
TextBox5.Text = "";
TextBox4.Text = "";
TextBox3.Text = "";
TextBox2.Text = "";
}
在我的web.config中,我声明了以下内容:
<add namespace="System.Data.SqlClient"/>
<add namespace="System.Configuration"/>
答案 0 :(得分:0)
你上面所说的不是MVC。这是webforms。 <script runat="server">
标签是一个死的赠品。此代码应该在控制器操作中。当用户在HTML表单中单击HTML提交时,MVC会将请求路由到控制器操作。在此操作中,您将编写执行sql的代码。
我强烈推荐使用Razor而不是webforms语法。它更干净,更容易使用。
答案 1 :(得分:0)
我认为你的方法中有太多错误或至少是不合适的东西,很难直接帮助你。相反,我想我可以引导你进入MVC的意思:
除此之外,添加代码直接从视图访问数据库在几个方面是错误的...我的意思是,从技术上讲,你可以做到,但你要求麻烦。
我强烈建议您下载一个示例MVC 3或4应用程序,以解决概念并进行一些测试。我建议您使用Razor来表达您的观点。