2017-11-19 1 views
1

Ich versuche, ein Projekt zu machen, und ich muss Benutzer mit Klasse registrieren, aber wenn ich den Code ausführen gibt SYNTAX ERROR IN INSERT STATEMENT.Syntaxfehler in Einfügen in Access-Datenbank

class LG 
{ 
    Connection MainConnection = new Connection(); 
    public static string _password; 
    public static string _username; 
    string username; 
    string password; 

    public LG (string username, string password) 
    { 
     this.username = username; 
     this.password = password; 
    } 

    public void add() 
    { 
     string query = "insert into LG (Username,Password)values('" +         
     username + "','" + password + "')"; 
     OleDbCommand com = new OleDbCommand(query, 
     MainConnection.getConnect()); 
     com.ExecuteNonQuery(); 
    } 
+1

verwenden lernen zu verwenden 'Parameterized Query' nachschlagen, was' SQL Injection' auch reservierte Wörter in die Felder einbinden, die wie folgt lauten '([Benutzername], [Passwort])' – MethodMan

Antwort

-1
//Try this out... 
    class LG 
    { 
     Connection MainConnection = new Connection(); 
     public static string _password; 
     public static string _username; 
     string username; 
     string password; 

     public LG (string username, string password) 
     { 
      this.username = username; 
      this.password = password; 
     } 

     public void add() 
     { 
      string query = "insert into LG (Username,[Password])values('" +         
      username + "','" + password+ "')"; 
      OleDbCommand com = new OleDbCommand(query, 
      MainConnection.getConnect()); 
      com.ExecuteNonQuery(); 
      //close connection here 
      MainConnection.Dispose(); 
     } 
-1

Versuchen Escape-Sequenzen:

string query = "insert into LG (Username,Password)values(\'\" + username + \"\',\'\" + password + \"\')"; 
-1

versuchen, etwas String-Format wie

string query = string.Format("insert into LG (Username,Password) values('{0}','{1}', username, Password)"; 
Verwandte Themen