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();之后,没有将记录添加到表中。

为什么记录没有显示在数据库表中?

C#将记录插入数据库表

您忘记在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();
}