ユーザーの入力に基づいてテーブルに値を挿入したいとします。私はこれらの値をいくつかのテキストボックスから得る。私は私のSQLロジックの前にブレークポイントを置き、F10ですべての行を調べると、すべてうまく動作します。 SQLConnection
を開き、SQLCommand
を作成して実行し、接続をもう一度閉じます。私はテーブルをリフレッシュし、そこにすべての値を持っています。しかし、私がブレークポイントを削除したり無効にしたりすると、プログラマーはこれらのコード行だけで動作しますが、機能しません。つまり、リフレッシュする頻度に関わらず、テーブルに値が追加されません。ここで SQL Insertデータが正しく機能しない
try
{
SqlConnection con = new SqlConnection("Server=...;Database=...;Integrated Security=true;");
con.Open();
SqlCommand com = new SqlCommand("INSERT INTO TestTable (Type,Serialnumber) VALUES('" + TypeText + "','" + SerText + "')", con);
//Debug.WriteLine(com.CommandText);
com.BeginExecuteNonQuery();
con.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
より
ExecuteNonQuery
を使用して使用するのが最良 – BugFinder@BugFinder限り変数が消毒されていることを、されている可能性があれば教えする方法はありません。とにかく、パラメータ化されたクエリを使用して良いアドバイスです;-) – bradbury9