SUPPLIERNAME
という列のSQL ServerデータベースにテーブルSupplierMaster
があります。SQL Serverデータベース内の既存のデータを編集する
は、私は以下のクエリ
ALTER PROCEDURE [dbo].[usp_SupplierMasterUpdateDetails]
(
@SUPPLIERNAME NVARCHAR(50)
)
AS
BEGIN
UPDATE [dbo].[SupplierMaster]
SET [SUPPLIERNAME] = @SUPPLIERNAME
WHERE [SUPPLIERNAME] = @SUPPLIERNAME
END
でストアドプロシージャを使用して保存したサプライヤの名前を編集したいと私は、データを更新するには、「更新ボタン」を通じて以下のコードを実行します。
string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand("usp_SupplierMasterUpdateDetails", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
// Parameter
cmd.Parameters.AddWithValue("SUPPLIERNAME", AddSupplierTextBox.Text);
// Open Connection
conn.Open();
// ExecuteReader (Select Statement)
// ExecuteScalar (Select Statement)
// ExecuteNonQuery (Insert, Update or Delete)
cmd.ExecuteNonQuery();
MessageBox.Show("SUCCESSFULLY UPDATED", "Successful", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
ただし、選択したデータは更新されません。
適切な作業のためにコードを修正するよう助言し、助けてください。
errormessage? – nozzleman
いいえ......更新ボタンを押したときにコードが実行されていません。msgも正常に更新されましたが、データベースのデータは変更されていません –
ストアドプロシージャは意味をなさない...セットその名前をすでに持っている行のサプライヤー名を '@ SUPPLIERNAME'に置き換えて、何も変更しません。現在の名前ではなく、主キーに基づいて更新する行を選択する必要があります。 –