2010-03-01 56 views
0

我要粘貼表名作爲函數參數和功能需要返回的數據集,這是我的代碼:粘貼表名作爲參數

Public Function GetTTabele(ByVal tableName As String) As DataSet 
     Dim DAT As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM tableName", nwindConn) 
     Dim DAT As DataSet = New DataSet() 
     DAT.MissingSchemaAction = MissingSchemaAction.AddWithKey 
     DAT.Fill(DAT, tableName) 
     GetTTabele = DAT 
    End Function 

現在,當我執行此代碼我收到未來錯誤: System.Data.SqlClient.SqlException:無效的對象名稱't​​ableName'。

回答

2

「SELECT * FROM表名」

應改爲 「SELECT * FROM」 &表名

讓您的參數表名的內容附加到字符串 「SELECT * FROM」

0

數據庫中不存在表「tableName」。指定一個現有的表名。

+0

我粘貼在數據庫中存在的表的函數名! GetTTabele(Orders) – Comii 2010-03-01 09:48:24

+0

但是,目前您正在傳遞字符串tableName,而不是變量字符串tableName。見尼古拉斯答案 – RvdK 2010-03-01 09:54:33

0

變化的代碼行

Dim DAT As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM tableName", nwindConn) 

閱讀

Dim DAT As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM " & tableName, nwindConn) 

你正在努力尋找一個叫做表,從字面上看,「表名」,而不是存儲在變量表名 tableName。