我使用以下代码将输入到web表单的反馈添加到数据库中。
代码运行得很好。但是当我试图删除这句话的时候
SqlCommandBuilder objcb = new SqlCommandBuilder(objDa);我收到一个错误,我的意思是它正在执行else部分。
谁能告诉我SqlCommandBuilder的用途是什么?
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (txtName.Text.Trim() == "")
{
Response.Write("<script>alert ('Name Field cannot be left blank')</script>");
return;
}
if (txtFeedBack.Text.Trim() == "")
{
Response.Write("<script>alert('FeedBack Field cannot be left blank')</script>");
return;
}
objSqlConnection.ConnectionString = connectionStringSetting;
objSqlConnection.Open();
try
{
SqlDataAdapter objDa = new SqlDataAdapter("select * from FeedBack", objSqlConnection);
SqlCommandBuilder objcb = new SqlCommandBuilder(objDa);
DataSet objDs = new DataSet("FeedBack");
objDa.Fill(objDs, "FeedBack");
DataRow dr = objDs.Tables["FeedBack"].NewRow();
dr[1] = txtName.Text;
dr[2] = txtAddress.Text;
dr[3] = txtCity.Text;
dr[4] = txtCountry.Text;
dr[5] = txtEmail.Text;
dr[6] = Convert.ToInt32(txtContactNo.Text);
dr[7] = txtFeedBack.Text;
objDs.Tables["FeedBack"].Rows.Add(dr);
objDa.Update(objDs, "FeedBack");
Response.Write("<script>alert('Your FeedBack has been submitted')</script>");
objSqlConnection.Close();
}
catch (Exception)
{
Response.Write("<script> alert('Error on Page. Please try after sometime')</script>");
objSqlConnection.Close();
}有没有办法显示特定的错误消息,比如如果用户输入一个字符串值而不是整数值,它应该将消息显示为‘输入字符串没有以正确的格式输入?
发布于 2009-10-03 05:33:48
切勿使用catch (Exception)。它隐藏了问题。如果抛出了异常,那么一定是出了严重的问题。你需要了解它。
删除整个try/catch块(将代码保留在其中!)。然后再次运行您的代码。如果有异常,你会在错误页面上看到它。如果不是,则使用事件查看器在Windows事件日志中查找来自"ASP.NET“源的警告消息。它应该包含完整的异常。
发布于 2010-06-20 05:14:33
最后的答案是,您正在讨论的这行代码在后台做了一堆事情。
它正在向DataAdapter添加insert、update和delete命令。因此,如果没有它,您将会崩溃和烧毁,除非您自己将这些命令添加到DataAdapter中。
https://stackoverflow.com/questions/1512875
复制相似问题