ADO.NET: Send procedure parameter with null value
I need to send a parameter a null value to the procedure, but I get an error:
System.Data.SqlClient.SqlException: ‘Procedure or function ‘sel_mizanyeni’ expects parameter ‘@subeno’, which was not supplied.’
When I run the same procedure with the same parameters in SQL Server, it does not cause an error. When I run it with ADO.NET in C#, I get that error.
Running state in SQL Server:
exec sel_mizanyeni
@subeno=null,
@tarih='2021-12-28 00:00:00',
@kirilimlevel=8,
@detaylevel=3,
@hesap1=N'342',
@hesap2=N'343',
@dovizcinsi=0,
@bakiyeverenler=1,
@optnetbakiye=1,
@optdisticsir=0,
@opteval=0,
@kurtarihi='2021-12-28 00:00:00',
@yilsonu=0,
@firmano=NULL,
@ekno=NULL,
@ikitariharasi=0,
@bittarih='2021-12-28 00:00:00',
@migration=1
This code is not working in C#:
SqlCommand cmd = new SqlCommand("sel_mizanyeni", baglanti);
cmd.CommandType = CommandType.StoredProcedure;
// I need to pass NULL here, but I get the mentioned error
cmd.Parameters.AddWithValue("@subeno", null);
cmd.Parameters.AddWithValue("@tarih", "2021-12-28 00:00:00");
cmd.Parameters.AddWithValue("@kirilimlevel", 8);
cmd.Parameters.AddWithValue("@detaylevel", 3);
cmd.Parameters.AddWithValue("@hesap1", "342");
cmd.Parameters.AddWithValue("@hesap2", "343");
cmd.Parameters.AddWithValue("@dovizcinsi", 0);
cmd.Parameters.AddWithValue("@bakiyeverenler", 1);
cmd.Parameters.AddWithValue("@optnetbakiye", 1);
cmd.Parameters.AddWithValue("@optdisticsir", 0);
cmd.Parameters.AddWithValue("@opteval", 0);
cmd.Parameters.AddWithValue("@kurtarihi", "2021-12-28 00:00:00");
cmd.Parameters.AddWithValue("@yilsonu", 0);
cmd.Parameters.AddWithValue("@firmano", null);
cmd.Parameters.AddWithValue("@ekno", null);
cmd.Parameters.AddWithValue("@ikitariharasi", 0);
cmd.Parameters.AddWithValue("@bittarih", "2021-12-28 00:00:00");
cmd.Parameters.AddWithValue("migration", 1);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
Nancy
0
Tags :