2016-08-05 12 views
0

Ich möchte Daten in SQL Server einfügen, aber ich habe ein anderes Format in Datagridview Daten aus ist "TT/MM/JJJJ" und nachdem ich in meinem SQL Server-Format sehe, ist " JJJJ/MM/TT "deshalb kann ich nicht wo für Update-Daten verwenden.VB.NET anderes Format Datum einfügen in SQL Server

In meinem SQL Server, ist der Datentyp Date, und in meinem Einsatz Abfrage

cmd.Parameters.AddWithValue("@Date", Convert.ToDateTime(row.Cells("Date").Value)) 

vb format, sql format

+0

Formate sind lediglich, wie Software einem Menschen ein Datum anzeigt. Wenn die DGV-Spalten "Date" (Datum) und das DB-Feld "Date" (Datum) ist, aktualisieren Sie einfach den DB mit einer 'DateTime'-Variablen. – Plutonix

Antwort

0

Format ist irrelevant. Das Format ist nur ein Problem, wenn ein DateTime in einen String konvertiert wird, um die Texteingabe in eine DateTime anzuzeigen oder zu konvertieren. Sie sollten binäre Daten in Ihrer Datenbank speichern und Binärdaten sind nur Zahlen und haben kein Format. Sie sollten auch Binärwerte DateTime in Ihrem Raster speichern. Wie das Raster sie anzeigt, ist irrelevant für ihre Speicherung.

Hier ist, was Sie tun sollten. Erstellen Sie eine DataTable mit einer Spalte für DateTime Werte, nicht String Werte. Sie können dies manuell tun oder lassen Sie einen Datenadapter für Sie tun, wenn Sie Fill aufrufen. Binden Sie die DataTable an Ihr Grid und konfigurieren Sie die Rasterspalte, um die Daten anzuzeigen, ist jedoch für die Anwendung geeignet. Speichern Sie alle Änderungen am Raster, indem Sie Update auf demselben Datenadapter aufrufen. Sie können einen Befehlsgenerator verwenden, um die Aktionsbefehle zu generieren, oder Sie können sie selbst erstellen. In beiden Fällen füllen Sie die Parameter nicht selbst, aber der Datenadapter zeichnet die Werte aus der DataTable. Wenn Sie die Befehle manuell erstellen, würde einen Parameter etwas zu schaffen, wie folgt aussehen:

myDataAdapter.InsertCommand.Parameters.Add("@Date", SqlDbType.Date, 0, "Date") 

, dass der Datenadapter sagt die Werte für den „@Date“ Parameter aus der Spalte „Datum“ des DataTable zu erhalten .