C# 从C窗体向数据库中插入行

C# 从C窗体向数据库中插入行,c#,database,insert,C#,Database,Insert,我正在尝试向数据库中添加新行。上面的代码是正确的,没有错误,它显示try语句,但没有将行插入数据库。任何解决方法。您的insert语句错误,缺少到。执行以下任一操作: String ConString = @"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BizContact.mdf;Integrated Security=True;User Instance=True"; SqlConnection cn = new Sq

我正在尝试向数据库中添加新行。上面的代码是正确的,没有错误,它显示try语句,但没有将行插入数据库。任何解决方法。

您的insert语句错误,缺少到。执行以下任一操作:

String ConString =  @"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BizContact.mdf;Integrated Security=True;User Instance=True";

SqlConnection cn = new SqlConnection(ConString);
try
{
   cn.Open();
   MessageBox.Show("connect");
}
catch (Exception)
{
   MessageBox.Show("Did not connect");
}       

SqlCommand cmd = new SqlCommand("insert tableNote values (@UserName,@Note)",cn);
cmd.Parameters.AddWithValue("@UserName", textBox1.Text);
cmd.Parameters.AddWithValue("@Note", textBox2.Text);

try
{
   int res = cmd.ExecuteNonQuery();

   if (res > 0)
   {
      MessageBox.Show("insert");
   }
}
catch (Exception ex)
{
   MessageBox.Show(ex.Message);
}
finally
{
   cn.Close();
}


打开Sql Profiler并观察它执行命令,然后尝试将该命令重播到Sql Management Studio中。更有可能的是,它会向您显示查询的格式有点不正确,以至于它没有成功地执行任何操作。

尝试完整的T-SQL语句

insert into tableNote (column_name1, column_name2) values (@UserName,@Note)
还可以通过使用状态来处理SqlConnection

"INSERT INTO table_name (userColumn, noteColumn) VALUES (@UserName, @Note)"

请尝试打印res的值。该值应为1,因为它提供了插入的行数。在项目目录中,可能有BizContact.mdf的多个副本。请检查所有副本以查找插入的记录。尝试使用SQL Profiler查看生成的查询,并尝试在SSMS中运行该查询。
"INSERT INTO table_name (userColumn, noteColumn) VALUES (@UserName, @Note)"
using(SqlConnection  cn = new SqlConnection(ConString))
{
  //....
}