2010-03-09 4 views
0

Dans apostrophes MS Access DatabaseDans MSAcess Base de données, requête d'insertion pour insérer le caractère avec

requête d'insertion pour insérer le caractère ------> N'tetarnyl

J'ai une requête

d'insertion
OleDbCommand cmd = new OleDbCommand("insert into checking values('" + _ 
         dsGetData.Tables[0].Rows[i][0].ToString() + "','" + _ 
         dsGetData.Tables[0].Rows[i][1].ToString()+ "')", con); 

mais il me montre l'erreur ...

erreur de syntaxe (opérateur manquant) dans l'expression de requête

aucune idée ??? Comment puis-je écrire une requête d'insertion pour insérer le N'tetarnyl (y compris l'apostrophe)

Répondre

2

Vous devez échapper à votre 'en l'écrivant deux fois. La meilleure façon de le faire est YourString.Replace("'", "''")

OleDbCommand cmd = new OleDbCommand("insert into checking values('" + dsGetData.Tables[0].Rows[i][0].ToString().Replace("'", "''") + "','" + dsGetData.Tables[0].Rows[i][1].ToString().Replace("'", "''") + "')", con); 
0

Dans MS Access, les apostrophes sont citées en les doublant.

OleDbCommand cmd = new OleDbCommand("insert into checking values('" 
+ dsGetData.Tables[0].Rows[i][0].ToString().Replace("'", "''") + "','" 
+ dsGetData.Tables[0].Rows[i][1].ToString().Replace("'", "''")+ "')", con); 
0

Vous pouvez faire dsGetData.Tables [0] .Rows [i] [0] .ToString(). Remplacer ("'", " ''"), et la même chose avec les rangées [i] [1].

Cela devrait remplacer toutes les guillemets simples par des guillemets simples, qui est le caractère d'échappement pour SQL.

Questions connexes