Click here to Skip to main content
15,880,651 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Procedure or Function 'Sp_store@Energiaa' expects Parameter '@ddl_Value2' which was not Supplied.

my StoredProcedures

SQL
ALTER proc Sp_store@Energiaa
(
@Value2 varchar(50),
@Value3 varchar(50),
@Value4 varchar(50),
@Value5 varchar(50),
@Value6 varchar(50),
@Value7 datetime
)
as
begin
insert into dbo.test1 (Value2,Value3,Value4,Value5,Value6,Value7)
values (@ddl_Value2,@txt_Value3,@txt_Value4,@txt_Value5,@txt_Value6,@DateTimePicker_Value7)
end



my Code
VB
Private Sub btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Save.Click
        If (ddl_Value2.Text = "") Then
            Savevalidation()
        Else




           


            Dim cmd As New SqlCommand
            Dim str As String
            Dim count As Integer


            Try

                gl_Con = New SqlConnection("server=HARIOM;Initial Catalog=vbtest;Integrated Security=True")

                Dim mycommand As SqlClient.SqlCommand = New SqlClient.SqlCommand()
                mycommand.Connection = gl_Con
                
                str = "execute sp_insert@test1"
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.Add("@Value2", SqlDbType.VarChar, 50).Value = ddl_Value2.Text
                cmd.Parameters.Add("@Value3", SqlDbType.VarChar, 50).Value = txt_Value3.Text
                cmd.Parameters.Add("@Value4", SqlDbType.VarChar, 50).Value = txt_Value4.Text
                cmd.Parameters.Add("@Value5", SqlDbType.VarChar, 50).Value = txt_Value5.Text
                cmd.Parameters.Add("@Value6", SqlDbType.VarChar, 50).Value = txt_Value6.Text
                cmd.Parameters.Add("@Value7", SqlDbType.DateTime).Value = DateTimePicker_Value7.Text
                gl_Con.Open()
                cmd = New SqlCommand(str, gl_Con)
                cmd.ExecuteNonQuery()
                
            Catch ex As System.Data.SqlClient.SqlException
                MsgBox(ex.Message)
            End Try
            gl_Con.Close()
        End If
    End Sub
Posted
Updated 14-Jan-15 22:34pm
v2

change your insert sql statment in your SP as below
SQL
insert into dbo.test1 (Value2,Value3,Value4,Value5,Value6,Value7)
values (@Value2,@Value3,@Value4,@Value5,@Value6,@Value7)

makesure that stored procedure parameter names same as insert statement parameter names. And also you having two commands and executing command which you haven't add any parameter to it. do as below
C#
gl_Con = New SqlConnection("server=HARIOM;Initial Catalog=vbtest;Integrated Security=True")
cmd =New SqlCommand("Sp_store@Energiaa", gl_Con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@Value2", SqlDbType.VarChar, 50).Value = ddl_Value2.Text
cmd.Parameters.Add("@Value3", SqlDbType.VarChar, 50).Value = txt_Value3.Text
cmd.Parameters.Add("@Value4", SqlDbType.VarChar, 50).Value = txt_Value4.Text
cmd.Parameters.Add("@Value5", SqlDbType.VarChar, 50).Value = txt_Value5.Text
cmd.Parameters.Add("@Value6", SqlDbType.VarChar, 50).Value = txt_Value6.Text
cmd.Parameters.Add("@Value7", SqlDbType.DateTime).Value = DateTimePicker_Value7.Value
gl_Con.Open()
cmd.ExecuteNonQuery() 
 
Share this answer
 
v3
Comments
hari om singh 15-Jan-15 4:26am    
how to declare scalar variable
Must declare the scalar variable "@Value2".
DamithSL 15-Jan-15 4:39am    
check my updated answer
I am assuming ddl_Value2 is a combobox. if so try this code.

SQL
ddl_Value2.SelectedItem.ToString()
 
Share this answer
 
Comments
hari om singh 15-Jan-15 4:21am    
yes ddl_Value is a combobox
i was change but here also geting same problem

str = "execute sp_insert@test1"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@Value2", SqlDbType.VarChar, 50).Value = ddl_Value2.SelectedItem.ToString()
cmd.Parameters.Add("@Value3", SqlDbType.VarChar, 50).Value = txt_Value3.Text
cmd.Parameters.Add("@Value4", SqlDbType.VarChar, 50).Value = txt_Value4.Text
cmd.Parameters.Add("@Value5", SqlDbType.VarChar, 50).Value = txt_Value5.Text
cmd.Parameters.Add("@Value6", SqlDbType.VarChar, 50).Value = txt_Value6.Text
cmd.Parameters.Add("@Value7", SqlDbType.DateTime).Value = DateTimePicker_Value7.Text
gl_Con.Open()
ArunRajendra 15-Jan-15 4:23am    
Use the solution given by DamithSL
To add to DamithSL's correction, don't use Text properties to send dates to SQL, even as a parameter - they are open to misinterpretation, as the two systems can intpret "12/03/11" differently as a date.
Instead, send through the DateTime value, which is unambiguous:
VB
cmd.Parameters.Add("@Value7", SqlDbType.DateTime).Value = DateTimePicker_Value7.Value
 
Share this answer
 
Comments
hari om singh 15-Jan-15 4:25am    
it gives this error
Msg 137, Level 15, State 2, Procedure sp_insert@Test11, Line 13
Must declare the scalar variable "@Value2".
OriginalGriff 15-Jan-15 4:42am    
Double check your stored procedure: make sure it matches what DamithSL said.
If it does and you have the lines:

@Value2 varchar(50),

and

values (@Value2,@Value3,@Value4,@Value5,@Value6,@Value7)

Then check (using the debugger) exactly what you are passing from the drop down list - is there a value?
hari om singh 15-Jan-15 4:29am    
Here I Got Same Error
str = "execute sp_insert@test1"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@Value2", SqlDbType.VarChar, 50).Value = ddl_Value2.SelectedItem.ToString()
cmd.Parameters.Add("@Value3", SqlDbType.VarChar, 50).Value = txt_Value3.Text
cmd.Parameters.Add("@Value4", SqlDbType.VarChar, 50).Value = txt_Value4.Text
cmd.Parameters.Add("@Value5", SqlDbType.VarChar, 50).Value = txt_Value5.Text
cmd.Parameters.Add("@Value6", SqlDbType.VarChar, 50).Value = txt_Value6.Text
cmd.Parameters.Add("@Value7", SqlDbType.DateTime).Value = DateTimePicker_Value7.Value

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900