gpt4 book ai didi

C# 向数据库表中插入记录

转载 作者:搜寻专家 更新时间:2023-10-30 20:37:33 24 4
gpt4 key购买 nike

我有一个数据库,其中包含一个包含以下列的客户表: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(); 后,记录没有添加到表中。

为什么记录没有出现在数据库表中?

最佳答案

您忘记在插入命令中关闭引号 "。使用 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();
}

关于C# 向数据库表中插入记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33477841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com