2017-07-15 8 views
1

J'ai deux tables, User et UserReputation. Je veux obtenir des données avec SqlDataAdapter.SqlDataAdapter Fill Error

 SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=abc.com;Integrated Security=True"); 
     SqlDataAdapter userDataAdapter = new SqlDataAdapter("SELECT * FROM User", conn); 
     SqlDataAdapter userReputationDataAdapter = new SqlDataAdapter("SELECT * FROM UserReputation", conn); 
     DataSet ds = new DataSet(); 
     userDataAdapter.Fill(ds, "User"); 
     userReputationDataAdapter.Fill(ds, "UserReputation"); 

J'ai testé la chaîne de connexion et connection.There est pas problème.Mais je suis arrivé à l'erreur ci-dessous userDataAdapter.Fill(ds, "User");

Une exception non gérée du type « System.Data.SqlClient.SqlException » a eu lieu en System.Data.dll

Informations complémentaires: Syntaxe incorrecte à proximité du mot-clé 'Utilisateur'.

Merci pour votre aide

Répondre

3

Changer votre requête aux personnes suivantes:

"SELECT * FROM [User]" 

User est un mot-clé, si vous avez Table nommé « Utilisateur » vous devez utiliser des parenthèses
ou @ Rahul a mentionné que vous pouvez également utiliser "":

"SELECT * FROM \"User\"" 
+0

merci beaucoup –

+1

Vous pouvez aussi utiliser '" "' pour échapper puisque c'est la norme ANSI – Rahul

+0

@Rahul J'ai ajouté cela à la réponse car il peut être utile pour quelqu'un cherchant ce problème –