あなたがしたことのプレゼンテーションの問題。パラメータは文字列ではなく、SqlParamatersであり、SqlParameter p1 = new SqlParameter("@col1", "val1");
を直接定義するか、コマンドオブジェクトに直接追加することができますcmd.Parameters.AddWithValue("@col1", "val1");
実際にクエリを実行すると、実際にクエリが実行されます。 command.executeNonQuery()
メソッドの共通点の1つは、影響を受ける行の量を反映する整数を返すことです。挿入するには1にする必要がありますが、複数のレコードを削除する場合は、より高いか、または制限する(WHERE
を介して)、0にすることができます。catch
ステートメントに負の数値を割り当てて、
int RowsAffected;
using (SqlConnection conn = new SqlConnection(strConn)) {
string cmdText = "insert into xxx(col1, col2) values(@col1,@col2)";
using (SqlCommand cmd = new SqlCommand(cmdText, conn)) {
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@col1", "val1");
cmd.Parameters.AddWithValue("@col2", "val2");
try {
conn.Open();
RowsAffected = cmd.ExecuteNonQuery();
}
catch (SqlException sx) {
RowsAffected = -1;
Console.Write(sx); // your SQL error handling
}
catch (Exception ex) {
RowsAffected = -2;
Console.Write(ex); // other exception handling
}
finally {
// your cleanup routines
conn.Close();
Console.Write("Rows Added = " + RowsAffected);
}
}
}
郵便あなたのコード:
とにかく、これは私はあなたがADO経由でSQL Severの上で実行する文を書くでしょうかの大まかなレイアウトがあります。 – Gusman
"command.executeNonQuery()"を使ってみましたか?この質問には、良い質問のすべての重要な部分が欠けています....主に、他の人が助けてくれるチャンスがあるために必要な細部。 –