Fehler beim Einfügen der Datenbank: "Zeichenfolge oder binäre Daten werden abgeschnitten"

7

Wenn ich mich anmelde, speichere ich meinen Benutzernamen in der Sitzung. Meine Anforderung ist, dass ich meinen Benutzernamen in meiner Datenbank speichern möchte. Hier speichere ich es in username1 . Wenn der Benutzername eingegeben wird, kann ich es mit response.write() drucken und es wird perfekt gedruckt. Wenn ich es jedoch in der Datenbank speichern, erzeugt es diesen Fehler:

%Vor%

Nachfolgend ist mein ado.net-Code:

%Vor%     
srihari 26.06.2013, 05:58
quelle

3 Antworten

19

Überprüfen Sie die Länge der Tabelle Qry_Details und sehen Sie, ob es kleiner als die Zeichenfolge ist, die Sie an die Datenbank senden?

Im Grunde sagt die Ausnahme, dass Sie etwas Größeres als die Spaltenlänge versuchen.

    
Aneef 26.06.2013, 06:04
quelle
10

Ich würde Ihnen empfehlen, eine parametrisierte Abfrage zu verwenden. Ihr Code ist jetzt anfällig für SQL-Injection. Außerdem sollten Sie die Methode ExecuteNonQuery für den SQL-Befehl anstelle von ExecuteScalar verwenden, wenn Sie Werte in die Datenbank einfügen:

%Vor%     
Darin Dimitrov 26.06.2013 06:04
quelle
0

Dieser Fehler tritt meistens auf, wenn der Einfügewert größer ist als die in der Tabelle in SQL Server definierte Feldbreite.

Überprüfen Sie, ob Sie Datum und Uhrzeit mit DateTime.Now c # fuction einfügen, Ihre Tabelle muss vom Typ DateTime sein. nicht nur Datum oder Uhrzeit.

    
Akhtar ali 17.09.2016 09:58
quelle

Tags und Links