C#将记录插入数据库表
本文关键字:数据库 插入 记录 | 更新日期: 2023-09-27 18:20:16
我有一个数据库,其中包含一个Customer表,该表包含以下列:CustID、CustName、ICNumber、ContactNumber和Address。它是一个基于服务的数据库。
string localdb = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(localdb);
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Customer(CustID,CustName,ICNumber,ContactNumber,Address)values(@CustID,@CustName,@ICNumber,@ContactNumber,@Address)", con);
cmd.Parameters.AddWithValue("@CustID", txtCustID.Text);
cmd.Parameters.AddWithValue("@CustName", txtCustName.Text);
cmd.Parameters.AddWithValue("@ICNumber", txtICNum.Text);
cmd.Parameters.AddWithValue("@ContactNumber", txtContact.Text);
cmd.Parameters.AddWithValue("@Address", txtAddress.Text);
cmd.ExecuteNonQuery();
con.Close();
代码编译并运行。我遇到的问题是,在调用cmd.ExecuteNonQuery();
之后,没有将记录添加到表中。
为什么记录没有显示在数据库表中?
您忘记在insert命令中关闭引号"
。使用try/catch
可以避免插件出现问题,例如:
string localdb = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;
try
{
SqlConnection con = new SqlConnection(localdb))
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Customer(CustID, CustName, ICNumber, ContactNumber, Address) VALUES (@CustID, @CustName, @ICNumber, @ContactNumber, @Address)", con);
cmd.Parameters.AddWithValue("@CustID", txtCustID.Text);
cmd.Parameters.AddWithValue("@CustName", txtCustName.Text);
cmd.Parameters.AddWithValue("@ICNumber", txtICNum.Text);
cmd.Parameters.AddWithValue("@ContactNumber", txtContact.Text);
cmd.Parameters.AddWithValue("@Address", txtAddress.Text);
cmd.ExecuteNonQuery();
}
catch
{
// some errors
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}