Procedure or function VendorCoverageInsert has too many arguments specified.
Can anyone tell me why I am getting this error? Am I not referencing the checkbox properly? I would like the user to select as many zip codes from the gridview, click the submit button and append all selected records to the table. Thanks.
Code behind called when user clicks the button
Protected Sub btnAddSelectedCoverage_Click(sender As Object, e As EventArgs) Handles btnAddSelectedCoverage.Click Dim cnn As New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("myprovalConnectionString").ConnectionString) Try Dim cmd As New System.Data.SqlClient.SqlCommand cmd.Connection = cnn cmd.CommandType = Data.CommandType.StoredProcedure cmd.CommandText = "dbo.VendorCoverageInsert" For Each gvRow As GridViewRow In gdvZipList.Rows Dim chkBox As CheckBox = CType(gvRow.FindControl("RowLevelCheckBox"), CheckBox) If chkBox.Checked Then cmd.Parameters.Add("@VendorId", Data.SqlDbType.VarChar).Value = Session("VendorId").ToString cmd.Parameters.Add("@UserId", Data.SqlDbType.VarChar).Value = Session("VendorId").ToString cmd.Parameters.Add("@Coverage", Data.SqlDbType.Char).Value = chkBox.ToString End If Next Dim dt As New System.Data.DataTable cnn.Open() cmd.ExecuteScalar() Dim sRedirect As String = "VendorAddEditCoverage.aspx?VID=" + Session("VendorId").ToString Response.Redirect(sRedirect) Finally cnn.Close() End Try End Sub
Change it like this:-
fire the command from within your for loop:-
Protected Sub btnAddSelectedCoverage_Click(sender As Object, e As EventArgs) Handles btnAddSelectedCoverage.Click Dim cnn As New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("myprovalConnectionString").ConnectionString) Try Dim cmd As New System.Data.SqlClient.SqlCommand cmd.Connection = cnn cmd.CommandType = Data.CommandType.StoredProcedure cmd.CommandText = "dbo.VendorCoverageInsert" For Each gvRow As GridViewRow In gdvZipList.Rows Dim chkBox As CheckBox = CType(gvRow.FindControl("RowLevelCheckBox"), CheckBox) If chkBox.Checked Then cmd.Parameters.Add("@VendorId", Data.SqlDbType.VarChar).Value = Session("VendorId").ToString cmd.Parameters.Add("@UserId", Data.SqlDbType.VarChar).Value = Session("VendorId").ToString cmd.Parameters.Add("@Coverage", Data.SqlDbType.Char).Value = chkBox.ToString cnn.Open() cmd.ExecuteScalar() End If Next Dim dt As New System.Data.DataTable Dim sRedirect As String = "VendorAddEditCoverage.aspx?VID=" + Session("VendorId").ToString Response.Redirect(sRedirect) Finally cnn.Close() End Try End Sub
fire the command from within your for loop:-
Open in new window