保存连接到数据库的按钮代码在 ASP.NET 中不起作用
Posted
技术标签:
【中文标题】保存连接到数据库的按钮代码在 ASP.NET 中不起作用【英文标题】:Save button code connecting to database not working in ASP.NET 【发布时间】:2012-05-09 19:18:57 【问题描述】:我正在尝试将表单中填写的信息提交到数据库。我已经为保存按钮完成了下面提到的编码。当我单击保存按钮保存信息时,我收到错误消息。我需要完成它,同样需要这里的极客提供帮助。
数据库中保存按钮数据的代码
public partial class _Default : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
string conn = ConfigurationManager
.ConnectionString("welcome").ConnectionString;
SqlConnection con=new SqlConnection(conn);
SqlCommand cmd = new SqlCommand("Insert into abhishek(pr_name,Add,add2) values(@ah,@Ap,@qe)",con);
cmd.CommandType = CommandType.Text;
cmd.Parameter.Addwithvalue("@ah", TextBox1.Text.Trim());
cmd.Parameter.Addwithvalue("@ap", TextBox2.Text.Trim());
cmd.Parameter.Addwithvalue("@qe", TextBox3.Text.Trim());
con.Open();
cmd.ExecuteNonQuery();
con.Close();
检查下图中的错误:
【问题讨论】:
这不是保存按钮的代码。这是每次加载页面时运行的代码。 【参考方案1】:ConnectionStrings
索引属性中缺少一个“s”。但是,一旦您修复了该错误,您还会发现 SqlCommand.Parameters
属性中缺少更多“s”。
要揭示这些问题,请打开代码隐藏文件的属性,然后选择编译的构建操作。 (另外,我可以从您的图片中看到,您的项目看起来像是设置为网站而不是 Web 应用程序;如果可能,请考虑将其转换为 Web 应用程序,因为它提供了许多好处。)
一旦您的语法得到纠正,那么您应该更改您的代码,以便通过按钮单击处理程序调用更新,而不是在页面加载时调用。
在你的 aspx 标记代码中:
<asp:Button runat="server" ID="btnSave" Text="Save" OnClick="btnSave_Click" />
在您的代码隐藏中:
protected void btnSave_Click(object sender, EventArgs e)
string conn = ConfigurationManager.ConnectionStrings["welcome"].ConnectionString;
using (SqlConnection con = new SqlConnection(conn))
SqlCommand cmd = new SqlCommand("Insert into abhishek(pr_name,Add,add2) values(@ah,@Ap,@qe)", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@ah", TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@ap", TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@qe", TextBox3.Text.Trim());
con.Open();
cmd.ExecuteNonQuery();
请注意,我已将代码移到按钮单击事件处理程序中,并移出 Page_Load。 Load 事件处理程序应仅用于页面执行路径上无条件需要的初始化项(即,无论在页面上单击什么按钮),并且应该类似于以下内容:
protected void Page_Load(object sender, EventArgs e)
// Code to run every time the page is created, both initially and on postback
if (IsPostBack)
// Code to run every time the page is posted back (any submit event)
else
// Code to run on the initial creation of the page
【讨论】:
我已经上传了错误(图片)请查看并尽快提供解决方案。以上是关于保存连接到数据库的按钮代码在 ASP.NET 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何从 ASP.NET 脚本连接到 Informix 数据库?
ASP.NET Core MVC:使用 SQL Server 身份验证连接到现有数据库