2010-03-01 3 views
0

Je veux coller le nom de la table en tant que paramètre de la fonction et le besoin de fonction pour revenir DataSet, c'est le mon code pour que:Coller nom de la table en tant que paramètre

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 

Maintenant, quand j'exécuter ce code, je reçois à côté erreur: System.Data.SqlClient.SqlException: nom d'objet non valide 'tableName'.

Répondre

2

"SELECT * FROM tableName"

devrait être remplacé par "SELECT * FROM" & tableName

permettant le contenu de votre paramètre tableName être ajouté à la chaîne "SELECT * FROM"

0

La table "tableName" n'existe pas dans votre base de données. Indiquez un nom de table existant.

+0

Je colle dans le nom de la fonction de la table qui existe dans la base de données! GetTTabele (Commandes) – Comii

+0

Mais actuellement vous passez la chaîne nomTable, au lieu de la chaîne variable nomTable. Voir nicholas réponse – RvdK

0

Modifier la ligne de code

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

lire

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

Vous essayez de trouver une table appelée, littéralement, "tableName", plutôt que le nom de la table stockée dans la variable nomTable.

Questions connexes