有些主题与我的主题相关,但我无法解决他们的问题。
每次我收到相同的消息。
程序:
USE [onmuhasebe]
GO
/****** Object: StoredProcedure [dbo].[stok] Script Date: 5.01.2017 15:34:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[stok]
( @cari NVARCHAR(50),
@urun NVARCHAR(50),
@miktar INT
)
AS
BEGIN
update stok_giris SET miktar= miktar- @miktar WHERE cari=@cari and urun=@urun
END
我需要减法。
try
{
baglanti.Open();
//int miktar = Int32.Parse(textBox4.Text);
//int miktar = Convert.ToInt32(textBox4.Text);
int miktar = Convert.ToInt32(textBox4.Text.Trim());
SqlCommand mySqlCommand = new SqlCommand("stok", baglanti);
mySqlCommand.CommandType = CommandType.StoredProcedure;
mySqlCommand.Parameters.AddWithValue("@cari", comboBox2.SelectedItem.ToString());
mySqlCommand.Parameters.AddWithValue("@urun", comboBox5.SelectedItem.ToString());
mySqlCommand.Parameters.Add("@miktar", SqlDbType.Int);
mySqlCommand.Parameters.AddWithValue("@miktar", miktar);
mySqlCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
答案 0 :(得分:4)
使用Add
和AddWithValue
即使两者都是@miktar
,您也会向命令添加四个参数但是该过程接受三个值;你应该给出第三个参数:
mySqlCommand.Parameters.Add("@miktar", SqlDbType.Int).Value = miktar;