2017-01-05 7 views
0

トピックに関連するトピックがいくつかありますが、問題を解決できませんでした。入力文字列の形式が正しくありませんでした。コマンドパラメータを追加する#

毎回同じメッセージが届きます。

手順:

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 [email protected] and [email protected] 

END 

私はここで減算を必要とします。あなたは両方とも@miktarしかし、三つの値を受け入れ手順であっても、コマンドに4つのパラメータが追加されているAddWithValueAddを使用してすることで

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); 
} 

答えて

4

。次のように3番目のパラメータを指定する必要があります。

mySqlCommand.Parameters.Add("@miktar", SqlDbType.Int).Value = miktar; 
+1

@nozzleman:ありがとう –

関連する問題