2012-02-09 72 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 

///設計器代碼

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

哪條線發生錯誤?此外,刪除所有不必要的代碼,只發布相關的代碼(但如果可能使其完成)。 – 2012-02-09 13:55:46

+0

@Konrad Rudolph Me.SqlDataAdapter1.Fill(DataSet11,「design_sp_search_drawing」) – 2012-02-09 13:58:36

+0

它很有趣,當我右鍵單擊數據適配器並預覽數據結果正在返回。 – 2012-02-09 14:01:31

回答

2

你不添加選項和參數SearchString在不止一次?在底部顯示的設計器代碼中,通過調用AddRange添加參數@RETURN_VALUE,@searchString和@Option,並且當您爲每個參數調用AddWithValue時,您將在代碼的頂部再次添加它們。所以對我來說,看起來好像你添加了5個參數。我錯過了什麼嗎? sproc需要什麼?

+0

下面的工作,謝謝你克里斯。現在我需要弄清楚爲什麼網格不會填充。非常感謝兄弟! SqlSelectCommand1.CommandType = CommandType.StoredProcedure SqlSelectCommand1.Parameters(「@ Option」)。Value = [Option] SqlSelectCommand1.Parameters(「@ searchString」)。Value = searchString.ToUpper – 2012-02-09 14:46:02

相關問題