0
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();
}

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

4

3 回答 3

4

尝试完整的 T-SQL 语句

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

还通过使用状态处理 SqlConnection

using(SqlConnection  cn = new SqlConnection(ConString))
{
  //....
}
于 2012-04-29T07:17:11.573 回答
3

您的插入语句是错误的(缺少into)。执行以下任一操作:

insert into tableNote select @UserName,@Note

或者

insert into tableNote (column_name1, column_name2) values (@UserName,@Note)
于 2012-04-29T07:16:30.830 回答
0

打开 Sql Profiler 并观察它执行命令,然后尝试将该命令重播到 Sql Management Studio 中。很可能,它会向您显示查询的格式非常轻微,以至于它很高兴没有成功执行任何操作。

于 2012-04-29T07:16:51.017 回答