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 に答える