Gewusst wie: einfügen von null in die Datenbank?
Hallo, ich versuche zum einfügen von null in einer Spalte in der Datenbank, die je auf einem gridview datakeys-Wert (wenn "" einfügen von null in die Datenbank)
Allerdings bin ich immer ein Leerzeichen '' in der Spalte in der Datenbank.
string sbcId = gvTest.DataKeys[gr.RowIndex]["myColumn"].ToString();
insgnp.Parameters.Add(new OleDbParameter("EMPID", (sbcId==""?DBNull.Value.ToString():sbcId)));
- Hast du gesehen, was die tatsächlichen T-SQL ausgeführt wird? (also mit dem SQL-Profiler). Die ToString-wahrscheinlich steckt in der ". Aber Sie sagen es gibt einen Raum,'', was ich kann nicht sehen, wie es passieren konnte. Eher sbcId != ""es ==" ".
- Dank RPM1984. Ich bin mit DB2. Es scheint, dass die Verwendung von ToString() war irgendwie übersetzt in '' in der Spalte in der Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie umschreiben den code:
Das problem mit den ternärer if-Anweisung, die Sie haben, ist, dass seine returntype immer der gleiche sein muss, die ist, warum können Sie es nicht verwenden (string und DbNull.Wert sind nicht kompatibel)
Verwenden
DBNull.Value
, nichtDBNull.Value.ToString
. (Mit anderen parameter auflistungstypen in .NET nur mitnull
würde auch funktionieren, aber ich bin mir nicht 100% sicher überOleDbParameter
).Als für den tertiären operator. Nicht casten zu einem string, aber cast string to object:
Müssen Sie
DBNull.Value
nichtDBNull.Value.ToString()
DBNull.Value.ToString()
ist "Dieses Programm gibt
Console.WriteLine("{0}", DBNull.Value.ToString());
gewesen wäre, einfach nur gut.Versuchen unten durch entfernen ToString() nach DBNull.Wert
SQLString.Null
tun sollten den job gut 🙂Wenn Sie ein nicht-string-Wert in der access-Datenbank schreiben Sie die insert-Abfrage in dieser Art und Weise
Insert into tableName (spalte1,spalte2) values (NULL,NULL);
Aber Sie wollen zum einfügen von null-Wert in Kurz-oder Langtext-Feld in access schreiben Sie die insert-Abfrage in dieser Art und Weise
Insert into tableName (spalte1, spalte2) values(",");
Bevorzuge ich eine extension-Methode zu behandeln, anstatt mehrere if-Anweisungen. Dies ermöglicht Ihnen das Konto für null oder leere Zeichenfolge-Werte. Auch erlaubt es wiederverwendbar sein.
Dann könnten Sie
Ihre Zeichenfolge wie
fügen Sie nun folgende Zeile
nun insert in db und überprüfen Sie, ob Sie haben den Wert null, Ihre logische