2012-02-09 5 views
1

Его старый друг снова ..... Я получаю эту ошибку, и я не могу понять, почему. Я проверил количество передаваемых параметров, а также количество требуемых параметров из sp, регенерировав набор данных, я не смотрел. Я, должно быть, пропустил что-то основное. Еще одна пара глаз была бы полезной.Процедура или функция имеет слишком много аргументов

Спасибо заранее

Public Sub GetRows(ByVal [Option] As String, ByVal searchString As String) 

    Me.DataSet11.Clear() 

    SqlSelectCommand1.CommandType = CommandType.StoredProcedure 
    SqlSelectCommand1.Parameters.AddWithValue("@Option", [Option]) 
    SqlSelectCommand1.Parameters.AddWithValue("@searchString", searchString.ToUpper) 

    Try 
     SqlConnection1.Open() 
     'execute reader 
     'rdr = SqlSelectCommand1.ExecuteReader 
     Me.DataGridViewAvItems.DataSource = DataSet11.design_sp_search_drawings 
     Me.SqlDataAdapter1.Fill(DataSet11, "design_sp_search_drawing") 

    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     'close the conenction 
     SqlConnection1.Close() 
    End Try 

End Sub 

/// DESIGNER КОД

Me.SqlSelectCommand1.CommandText = "dbo.design_sp_search_drawings" 
    Me.SqlSelectCommand1.CommandType = System.Data.CommandType.StoredProcedure 
    Me.SqlSelectCommand1.Connection = Me.SqlConnection1 
    Me.SqlSelectCommand1.Parameters.AddRange(New System.Data.SqlClient.SqlParameter() {New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing), New System.Data.SqlClient.SqlParameter("@searchString", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, "TES0201"), New System.Data.SqlClient.SqlParameter("@Option", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, "site_code")}) 
+0

В какой строке происходит ошибка? Кроме того, удалите весь ненужный код, разместите только соответствующий код (но, если возможно, завершите его). –

+0

@ Konrad Rudolph Me.SqlDataAdapter1.Fill (DataSet11, "design_sp_search_drawing") –

+0

Интересно, когда я щелкаю правой кнопкой мыши по адаптеру данных и данным предварительного просмотра, результаты возвращаются. –

ответ

2

Вы не добавив опцию и SearchString параметры более чем один раз? В коде разработчика, который вы указали внизу, вы добавляете параметры @RETURN_VALUE, @searchString и @Option с вызовом AddRange, и вы добавляете их снова в верхней части кода, когда вы вызываете AddWithValue для каждого из них. Так что мне кажется, что вы добавили 5 параметров. Я что-то упускаю? Что требует sproc?

+0

Ниже написано, спасибо Крису. Теперь мне нужно решить, почему сетка не будет заполнена. Спасибо, много чувак! SqlSelectCommand1.CommandType = CommandType.StoredProcedure SqlSelectCommand1.Parameters ("@ Опция"). Значение = [Вариант] SqlSelectCommand1.Parameters ("@ SearchString"). Значение = searchString.ToUpper –

Смежные вопросы