Ich bin ein Anfänger Coder, ich baue ein Projekt mit C# Asp.Net, in dem ich Benutzer mit einer Benutzer-ID registrieren, jetzt meine Frage ist, dass wie zu überprüfen, dass die Benutzer-ID bereits in der Benutzertabelle oder nicht vorhanden ist, wenn Benutzer versuchen zu registrieren, ich bin mit Sql Server 2000?
Antworten
Zu viele Anzeigen?Basierend auf dem Code in Ihrem Kommentar, würde ich sagen, was Sie brauchen, ist eine gute Einführung Tutorial, wie man Daten mit ADO.NET abzufragen, wenn jemand eine empfehlen kann.
Zunächst einmal können Sie nicht einfach "username.Text" in Ihrer Abfrage verwenden, da der SQL Server nichts über Ihre ASP.NET-Seite und deren "username"-Textbox weiß.
Sie müssen einen Parameter an Ihren SqlCommand übergeben (nicht immer erstellen Sie eine Zeichenfolge wie "select * from tbl_userlogin where User_id=" + username.Text, googeln Sie nach "sql injection attack", wenn Sie wissen wollen, warum), etwa so:
SqlCommand cmd = new SqlCommand("select * from tbl_userlogin where User_id = @UserID", con);
SqlParameter param = new SqlParameter();
param.ParameterName = "@UserID";
param.Value = username.Text;
cmd.Parameters.Add(param);
Dann müssen Sie den Befehl tatsächlich ausführen und einen SqlDataReader zurückerhalten. Sie können nicht einfach auf Felder aus der Datenbank in Ihrem C#-Code verweisen, deshalb erhalten Sie den Kompilierfehler CS0103.
SqlDataReader reader = cmd.ExecuteReader();
Ihr SqlDataReader enthält nun die Ergebnisse der Abfrage. Da es Ihnen nur darum geht, ob etwas gefunden wurde oder nicht, können Sie mit der Eigenschaft HasRows prüfen, ob etwas zurückgegeben wurde.
if (reader.HasRows)
{
MessageBox.Show("User Id already exists");
}
Lesen Sie mehr über SqlDataReader - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx - um zu erfahren, wie Sie im Bedarfsfall auf die Ergebnisse zugreifen können.
Da Sie ein Anfänger sind und die grundlegenden Konzepte von Ado.net kennen, wird es Ihnen helfen
http://msdn.microsoft.com/en-us/library/e80y5yhx%28VS.80%29.aspx
http://www.csharphelp.com/2007/06/using-ado-net-database-1-for-beginners/
http://www.codeproject.com/kb/database/databaseacesswithadonet1.aspx
Es ist ganz einfach. Zuerst versuchen Sie, den Datensatz des gewünschten Benutzers zu erhalten (auszuwählen).
`Select * from UserTable where userId = <your-input-userid>`
Wenn er einen Datensatz zurückgibt, bedeutet dies, dass der Benutzer bereits existiert.
Wenn kein Datensatz zurückgegeben wird, bedeutet dies, dass dieselbe Benutzerkennung nicht bereits vorhanden ist und Sie diese Benutzerkennung für einen neuen Benutzer verwenden.