私はこのサイトを検索し、私の問題に関するいくつかのトピックを見つけましたが、それでもこれを機能させることはできません....
ストアド プロシージャを使用して SQL Server データベースからデータを取得しようとしています。型である 1 つのパラメーターを渡してSqlDbType.Varchar(50)
いますが、SQL エラーが返されます。
プロシージャまたは関数 'WyszukajPrzesylki' には、指定されていないパラメーター '@Nazwisko' が必要です。
私は何を間違っていますか?SSMSでテストすると、ストアプロシージャが機能します...
入力しても機能します
SqlCommand com = new SqlCommand("WyszukajPrzesylki @Nazwisko = Example", con);
あなたは私の最後の希望です...私はすでにこの問題で2日を失い、それ以上先に進むことができません... c#を使用してレコードを挿入および更新することに問題はありません...これだけ....
これがSPのコードです
ALTER PROCEDURE [dbo].[WyszukajPrzesylki]
-- Add the parameters for the stored procedure here
@Nazwisko varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
-- SELECT * FROM Przesylki WHERE (NazwiskoAdresata = @NazwiskoAdresata)
SELECT * FROM Przesylki WHERE (Przesylki.NazwiskoAdresata = @Nazwisko)
END
ボタンのアクション:
SqlConnection con = new SqlConnection(Properties.Settings.Default.Monitoring_PrzesylekString1);
SqlCommand com = new SqlCommand("WyszukajPrzesylki", con);
com.CommandType = CommandType.StoredProcedure;
SqlParameter parametrNazwisko = new SqlParameter("@Nazwisko", SqlDbType.VarChar, 50);
parametrNazwisko.Value = "Dziubak";
com.Parameters.Add(parametrNazwisko);
SqlDataAdapter ad = new SqlDataAdapter(com.CommandText, con);
DataSet ds = new DataSet();
ad.Fill(ds, "id");
con.Close();
DataTable datatableA = ds.Tables[0];
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "id";