C# - update ein boolean-Wert in einer Access-Datenbank
Ich habe ein Programm in C# und jetzt will ich update einen boolschen Wert in meiner Access-Datenbank. Dieser Boolesche Wert wird immer aktualisiert werden, um false
. Ich habe absolut alles versucht, und es ist keine änderung in meinem Wert. Bitte helfen Sie.
Hier ist mein code :
Den [In mail] Spalte ist mein booleschen Wert. Ich habe versucht, diese Abfrage in Access und es funktioniert perfekt da.
String query = "UPDATE Ontwikkeldossier SET Ontwikkeldossier.[In mail] = @fals WHERE (((Ontwikkeldossier.[OntwikkeldossierID])=@ontwikkeldossierid));";
using(OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(query, conn);
cmd.Parameters.Add("@fals", OleDbType.Boolean, 1, "[In mail]").Value = false;
cmd.Parameters.Add("@ontwikkeldossierid", OleDbType.Numeric).Value = Convert.ToInt32(newrow.Cells[0].Value.ToString());
cmd.ExecuteNonQuery();
}
Vielen Dank im Voraus.
- wenn Sie wollen, dass es immer false dann warum haben Sie es als parameter, nur setzen Sie ihn auf false in der Abfrage
- Weil ich habe das ausprobiert und es hat nicht funktioniert
- Ist der Wert in der @fals = false oder 0? Sie müssen übergeben Sie 0, um es zu arbeiten?
- Ich habe versucht, falsch und 0, und Sie hat nicht funktioniert. Ich glaube, ich muss pass 0 aber ich weiß nicht, wie
- Ich glaube die Frage kann der Unterschied zwischen, wie .NET definiert eine boolean-und Access definiert. Bitte siehe stackoverflow.com/questions/8940986/...
- Ich habe gelesen, dass Artikel, aber für mich ist es immer falsch, also immer 0, oder sehe ich etwas falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für was es Wert ist, ich habe gerade getestet den folgenden code und es funktioniert für mich:
dieser arbeitete für mich! Ich habe "ja/Nein" - Spalte in Access. Update-Befehls ist:
Sollte diese:
Stattdessen:
Ist die Quelle ein Problem? Wenn Sie den Wert bereitstellt, warum willst du eine Quelle für den Wert?
Natürlich, da es immer falsche für Sie, Sie könnte einfach die Abfrage ändern und beseitigen Sie den parameter zusammen:
cmd.Parameters.Add("@fals", OleDbType.Boolean).Value = "false";
String query = "UPDATE Ontwikkeldossier SET Ontwikkeldossier.[In mail] = 'false' WHERE (((Ontwikkeldossier.[OntwikkeldossierID])=@ontwikkeldossierid));";
(vielleicht habe ich die falschen Anführungszeichen)