[ad_1]
こんにちは、みんな、
MS SQL Server と C# を使用して Windows アプリケーションを開発しています。 アプリケーションでは、テキスト ボックスから取得するパラメータを使用して、既存のテーブル レコードを更新しようとしています。
SQLコマンドを実行すると、VALUESの構文エラーというエラーが発生しました。 構文にエラーが見つかりません。 WHERE句も使用しています。 以下はソースコードです。
私の何が間違っていたのか教えていただけますか?
ありがとう、
チランタカ
私が試したこと:
C#
private void btnUpdateData_Click(object sender, EventArgs e) { try { SqlComm = new SqlCommand("UPDATE MyDataTable ('DataDesc', 'DataDate', 'DataQty') VALUES ('@DataDesc', '@DataDate', '@DataQty') WHERE DataID ='@DataID'", SqlConn); SqlComm.Parameters.AddWithValue("@DataID", txtDataID.Text); SqlComm.Parameters.AddWithValue("@DataDesc", txtDataDesc.Text); SqlComm.Parameters.AddWithValue("@DataQty", int.Parse(txtDataQty.Text)); SqlComm.Parameters.AddWithValue("@DataDate", dtpDataDate.Value); SqlComm.ExecuteNonQuery(); MessageBox.Show("Data updated!", "DB Connection With App.Config", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); Clear(); DisableButtons(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
解決策 1
値を囲む一重引用符を削除します。
C#
SqlComm = new SqlCommand("UPDATE MyDataTable ('DataDesc', 'DataDate', 'DataQty') VALUES (@DataDesc, @DataDate, @DataQty) WHERE DataID = @DataID", SqlConn);
解決策 2
conn.Open();
SqlCommand cmd = new SqlCommand(“UPDATE myTable SET Name=””+txtName.Text +””, Age=””+txtAge.Text +””, Gender=””+txtGender.Text+””, City='”+ txtCity.Text+”‘ where Id= ‘”+txtID.Text+”‘ “、conn);
試す
{
cmd.ExecuteNonQuery();
MessageBox.Show(“正常に更新されました”, “更新されました”, MessageBoxButton.OK, MessageBoxImage.Information);
}
キャッチ (SqlException 例)
{
MessageBox.Show(例:メッセージ);
}
[ad_2]
コメント