Ich habe ein Projekt in der Schule und und ich muss meine Registrierungsseite mit einer Datenbank verbinden. Ich habe diesen Code:Falsche Syntax in der Nähe des Schlüsselwortes "hinzufügen"
if (Request.Form["submit"] != null)
{
string fName = Request.Form["fName"];
string lName = Request.Form["lName"];
string Passwod = Request.Form["Passwod"];
string email = Request.Form["email"];
string add = Request.Form["add"];
string RegStatus;
if ((fName == "") || (lName == "") || (Passwod == "") || (email == "") || (add == ""))
{
RegStatus = ("missing data or wrong data");
}
else
{
string selectQuery = "SELECT * FROM " + "[Users]";
selectQuery += " WHERE ";
selectQuery += " email = '" + Request.Form["email"] + "'";
if (MyAdoHelper.IsExist(selectQuery))
{
RegStatus = ("email does not exists");
}
else
{
string insertQuery = "INSERT INTO [Users] (fName,lName,Passwod, email,add) VALUES ('";
insertQuery += fName + "', '" + lName +"','" + Passwod + "', '" + email + "','" + add +"')";
Response.Write(insertQuery);
MyAdoHelper.DoQuery(insertQuery);
RegStatus = ("Registeration was successful ");
}
}
Response.Write(RegStatus);
Response.End();
}
Die Fehler, die ich erhalten, nachdem die Daten (nach Laufen) Füllung ist:
System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'add'.
Quelle Fehler:
public static void DoQuery(string sql)
{
SqlConnection conn = ConnectToDb();
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
com.ExecuteNonQuery(); //* it says the error is in this line. //*
com.Dispose();
conn.Close();
}
Wenn Sie SQL lernen, lernen zu nutzen parametrisierte Abfragen. Mehre Query-Strings nicht. Das kann zu Syntaxfehlern und SQL-Injection-Schwachstellen führen. –