wie legen Sie ein Datum aus textbox in Datenbank
bitte helfen Sie mir, legen Sie ein Datum aus einem Textfeld in dd-mm-yyyy-format zu sql server.
mein code ist wie folgt:-
int prio = Convert.ToInt32(Priority.Text);
string stdate = planstart.Text;
string endate= planend.Text;
string actst = actualstart.Text;
string acten = actualend.Text;
SqlConnection myconnection = new SqlConnection(constring);
SqlCommand mycommand = new SqlCommand();
DataSet mydataset = new DataSet();
SqlDataAdapter mydataadapter = new SqlDataAdapter();
myconnection.Open();
mycommand.Connection = myconnection;
mycommand.CommandText = " insert into project_status.dbo.Project_Status_Report values('" + projectcode.Text + "','" + projectname.Text + "',(select P_Code from project_status.dbo.Project_Type where Project_Type = '" + projecttype.Text + "')," + prio + ",'" + stdate + "','" + endate + "','" + actst + "','" + acten + "','" + currentstatus.Text + "','" + remark.Text + "','no');";
mycommand.CommandType = CommandType.Text;
mycommand.ExecuteNonQuery();
und es ist eine Ausnahme auslösen, nämlich:-
Fehler bei der Konvertierung beim konvertieren von Datum und/oder Zeit von-Zeichenfolge.
1) in parametrisierte Abfragen schützen Sie sich vor SQL-Injection. 2) Wenn Sie das Datum sollte ein Datum, nicht behandeln es als einen string. Überprüfen Sie, dass es ein gültiges Datum konvertieren, dann geben Sie als parameter in der Abfrage.
können Sie mir sagen, wie es zu konvertieren.Ursache, die ich habe versucht, scheiterte aber zu konvertieren.
wenn es funktioniert, als keine Antwort .................
können Sie mir sagen, wie es zu konvertieren.Ursache, die ich habe versucht, scheiterte aber zu konvertieren.
wenn es funktioniert, als keine Antwort .................
InformationsquelleAutor Ajay Mirge | 2012-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie konvertieren die Daten nach sql-server-Format, die Art und Weise können Sie lösen Problem ..
Versuchen
oder
Format-String Für Datumsangaben
Nutzen Paramerize Abfrage zur Vermeidung von SQL-INJECTION - ...den code weniger Fehler pron
Exemplarische Vorgehensweise: Anzeigen von Daten in einem Windows-Formular Mithilfe einer Parametrisierten Abfrage
versuchen Sie bearbeitet beantworten.....
danke, dass für mich gearbeitet..
Mirge - hey als Antwort akzeptieren, wenn es für Sie arbeitet
InformationsquelleAutor Pranay Rana
Nur ein Wort der Vorsicht - Sie müssen zu bereinigen, die Abfrage zu verhindern, dass SQL-injection-Angriffe. Erwägen Sie die Verwendung parametrierte Abfragen. Lesen Sie über es, es ist nicht wirklich den Rahmen dieser Antwort.
Sollten Sie stark typisierte DateTime-Objekte zuerst und dann formatieren Sie Sie die Weise, die Sie einfügen müssen. Berücksichtigen Sie die folgenden änderungen an Ihrem code:
BEARBEITEN
Habe ich entfernt, die string-parameter, der von der ToString (), so können Sie einen gültigen DateTime-Zeichenfolge, die verwendet werden kann, indem SQL-Server.
Möglicherweise werden die regionalen Einstellungen auf Ihrer Datenbank. Wenn der Datentyp datetime ist, Sie müssen tatsächlich passieren einen GÜLTIGEN datetime-Objekt. Das format, in dem es angezeigt bekommt, hängt von den regionalen Einstellungen. Beachten Sie, entfernen Sie den string-parameter von der Methode ToString () - es sollten die regionalen Einstellungen in Konto und geben Sie einen gültigen DateTime-Zeichenfolge.
InformationsquelleAutor FarligOpptreden
InformationsquelleAutor Anand Zambre