SQL "Falsche syntax bei das Schlüsselwort 'from'."
Ich bin neu in SQL und visual studio etc. aber ich habe mich verändert, etwas, das nicht erlaubt, mich anzumelden zu meiner Anwendung. Immer, wenn ich drücken Sie die Schaltfläche "login", ich bekomme diese Fehlermeldung
Falsche syntax in der Nähe des Schlüsselwortes 'von'
Hier ist, wo die Quelle sein kann;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
namespace RockPaperApp
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
Response.Redirect("/Game.aspx");
}
}
protected void RegButton_Press(object sender, EventArgs e)
{
Response.Redirect("/Register.aspx");
}
protected void LogButton_Press(object sender, EventArgs e)
{
string username = UsernameLogTxt.Text;
try
{
string conn = ConfigurationManager.ConnectionStrings["UserConS"].ToString();
string CommandText = "pword from data Username=@username";
using (SqlConnection connection = new SqlConnection(conn.ToString()))
using (SqlCommand command = new SqlCommand(CommandText, connection))
{
command.Parameters.AddWithValue("@username", username);
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
string realpass = reader[0].ToString();
if (realpass != PasswordLogTxt.Text)
{
Response.Write("<span style='color:red'>A Wrong Username of Password has been entered.</span>");
}
else
{
Session["New"] = UsernameLogTxt.Text;
Response.Redirect("/Game.aspx");
}
}
if (!reader.HasRows)
{
Response.Write("No such username exists.");
}
}
connection.Close();
}
}
catch (SqlException ex)
{
Response.Write( ex.Message);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Register.aspx");
}
}
}
Obwohl das wahrscheinlich nicht wichtig für diese Frage: wenn gefragt wird, SQL-Fragen immer fügen Sie den tag entsprechend Ihres DBMS (
postgresql
, oracle
, sql-server
, ...). SQL ist eine Abfrage-Sprache, nicht ein DBMS-Produkt.
InformationsquelleAutor user2974706 | 2014-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist keine gültige SQL-Abfrage:
Vielleicht ist Sie kopiert/eingefügt Teil einer Abfrage, wenn Sie gedacht, um copy/paste der ganzen Sache? Es sieht nicht einmal wie eine gültige Teil einer Abfrage, wenn.
Der Fehler ist Ihnen zu sagen, dass das problem bei der keyword -
from
denn das ist die erste Sache, die Sie trifft, nachdem Sie den Fehler. Für SQL-Fehler, schauen Sie immer auf die Letzte Sache, die analysiert wird, bevor die Lage von dem Fehler, das Letzte, was ist es, was verursacht es. In diesem Fall ist das Schlüsselwortpword
die es verursacht, da dies nicht einem gültigen Schlüsselwort oder eine id in SQL-und query-parser konnte nicht den Sinn dahinter.Seite Hinweis: allzu oft auf Stack Overflow, die wir haben, um Vorträge Entwickler, neue und erfahrene gleichermaßen, für SQL-injection-Schwachstellen. Dies ist eine seltene Gelegenheit, wo ich persönlich commend Sie für die initiative zu der Verwendung von parametrisierten Abfragen trotz Ihrer relativ neue Erfahrung ist. Ich bin echt beeindruckt, bitte halten Sie die gute Arbeit!
Anderen Seite Hinweis: Obwohl Sie sind auch die Speicherung der Passwörter im Klartext, das ist ein sehr sehr schlecht Sache. Es ist besser, hash des Kennworts und speichern der hash. Dann, wenn ein Benutzer ein Kennwort eingibt, hash, was Sie geben, und vergleichen Sie es gegen den gespeicherten hash. Sobald Sie diese Arbeit, ich hoffe, dass Sie von der Adresse, die als gut 🙂
Bitte siehe mein update. Während Ihr code hat einen Fehler, es hat auch ein sehr gut ich hoffe, daß Sie weiterhin verwenden 🙂
unser Dozent wirklich gebohrt in uns . Die Bedeutung ist geblieben 🙂 danke!
Ich habe gerade ein weiteres update, und Sie können bringen Sie zurück zu Ihrer Dozentin / Ihrem Dozenten zu bohren in ihn, denn er braucht es nicht zu vergessen 🙂
Ok cool , ich haben, um zu lernen 🙂
InformationsquelleAutor David
Ihre SQL werden muss:
SELECT pword FROM data WHERE Username=@username
.Die groß-und Kleinschreibung der Schlüsselwörter (
SELECT
,FROM
,WHERE
) spielt keine Rolle.InformationsquelleAutor yshavit