[英]Error during insert of record from asp.net into SQL Server database
这是我在按钮单击事件中的代码
try
{
string ConnString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=\\MOD03-PC\\Share Folder mod03\\amts\\amtsfuelconsuption\\AmtsFuelConsumption\\AmtsFuelConsumption\\App_Data\\AmtsDatabse.mdf;Integrated Security=True;Connect Timeout=900,providerName=System.Data.SqlClient";
SqlConnection con = new SqlConnection(@ConnString);
SqlCommand cmd = new SqlCommand("InsertBodyTypeMaster", con);
cmd.CommandTimeout = 0;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("bodytypename", txtBTname.Text.ToString());
con.Open();
int k = cmd.ExecuteNonQuery();
if (k != 0)
{
lblmessage.Text = "Record Inserted Succesfully into the Database";
lblmessage.ForeColor = System.Drawing.Color.CornflowerBlue;
}
con.Close();
con.Dispose();
}
catch (Exception ex)
{
lblmessage.Text = ex.ToString();
}
我发现有些错误;
Connect Timeout=900,
更改为Connect Timeout=900;
providerName=System.Data.SqlClient
部分,因为您已经将.NET提供程序用于SQL Server。 .NET的提供程序名称基于实现类是隐式的, 不需要在连接字符串中指定。 删除时,您将不需要;
在Connect Timeout=900;
结束时Connect Timeout=900;
不再 using
语句自动处理连接和命令,而不是手动调用Close
或Dispose
方法。 AddWithValue
。 有时它可能会产生意外和令人惊讶的结果 。 使用Add
方法重载来指定您的参数类型及其大小。 最终连接字符串应为;
string ConnString = "Data Source=(LocalDB)\v11.0,AttachDbFilename=\\MOD03-PC\\Share Folder mod03\\amts\\amtsfuelconsuption\\AmtsFuelConsumption\\AmtsFuelConsumption\\App_Data\\AmtsDatabse.mdf;Integrated Security=True;Connect Timeout=900";
连接字符串中的连接超时属性中的900后面有逗号而不是分号。
因为您的连接字符串很奇怪。 删除那些;
并与替换它们,
。 另外,请确保正确拼写它们。 应该像
string ConnString = "Data Source=(LocalDB)\v11.0,AttachDbFilename=\\MOD03-PC\\Share Folder mod03\\amts\\amtsfuelconsuption\\AmtsFuelConsumption\\AmtsFuelConsumption\\App_Data\\AmtsDatabse.mdf,Integrated Security=True,Connect Timeout=900;providerName=System.Data.SqlClient";
还有下面一行
SqlConnection con = new SqlConnection(@ConnString);
它应该是
SqlConnection con = new SqlConnection(ConnString);
您正在try
块内调用Dispose()
,这是一个大错误,如下所示。 使用Using(...)
阻止(或) finally
阻止
try
{
....
con.Close();
con.Dispose();
}
应该
finally
{
con.Close();
con.Dispose();
}
看起来是时候开始阅读文档了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.