データベースの更新中に問題が発生しました。エラー接続が閉じられます。問題がどこにあるのかわかりません。私はconnection.open
を開始しましたが、動作していません。SQL Serverデータベースの更新
public void btnUpdate_Click(object sender, EventArgs e)
{
if (txtName.Text != "" && txtRollNo.Text != "" && txtRegdNo.Text != "" && txtProgram.Text != "" && txtValidity.Text != "" && pBoxPhoto.Image != null && pBoxQR.Image != null)
{
scommand = new SqlCommand("update tblRegistration set [email protected],[email protected],[email protected],[email protected],[email protected], [email protected] where [email protected]", connection);
scommand.Parameters.AddWithValue("@id", txtID.Text);
scommand.Parameters.AddWithValue("@name", txtName.Text);
scommand.Parameters.AddWithValue("@program", txtProgram.Text);
scommand.Parameters.AddWithValue("@regdno", txtRegdNo.Text);
scommand.Parameters.AddWithValue("@rollno", txtRollNo.Text);
scommand.Parameters.AddWithValue("@validity", txtValidity.Text);
scommand.Parameters.AddWithValue("@address", txtAddress.Text);
connection.Open();
sCommand.ExecuteNonQuery();
MessageBox.Show("Record Updated Successfully");
clearData();
dataGridView1.DataSource = null;
fillData();
connection.Close();
clickable();
}
else
{
MessageBox.Show("Please Provide Details!");
}
}
私が間違っているところを教えてください。前もって感謝します。廃棄がある(
using (var connection = new SqlConnection())
{
// perform Sql Command using the connection
}
あなたがusing
を使用するので、範囲から出た、Disposeメソッドが自動的に呼び出されます:
毎回新しい接続を使用する必要があります。同じ接続を再利用しようとはしません。 DataTableとDataAdapterを使用する場合は、 'dataGridView1.DataSource = null;でDGVを上回らなければなりません。 – Plutonix
usingステートメントを使用して接続を切断します。 – inan
1.データベース接続がオープンしていません。 2.パラメータ値を固有の型で含める必要があります。 idがデータベースの整数の場合は、.net int/Int32を使用して値を追加します。 3.必要なときにado.netタイプを作成して 'using'ステートメントで処理します。これらのインスタンスをメソッド/クラス間で共有しないでください。 [ベストプラクティス - SQL文を実行する]を参照してください。(0120-18753) – Igor