Von was ich verstehe; Das Code-Snippet, das ich benutze, passt nicht zu deinem Datenbankschema.
Sie versuchen, keine Werte in die anderen Spalten in den Zeilen einzufügen. Das wäre in Ordnung, wenn Ihre Datenbank NULL erlaubt. Vielleicht solltest du das überarbeiten. Ein guter Trick wäre ein Stück Papier, um die Spaltennamen auszugeben und eine Farbe für Spalten zu haben, die Nullen nicht zulassen, während die Spalten, die Werte benötigen, eine andere Farbe haben. Dies würde Ihnen helfen, sich damit abzufinden.
Ich hatte selbst ähnliche Probleme und es wurde sehr verwirrend mit dem Einfügen in Tabellen. Meine Lösung war Gespeicherte Verfahren. Dadurch wurde die Komplexität meiner Strings auf einen Standard-String reduziert. Dies machte es viel einfacher zu folgen und reduzierte meine Fehler dramatisch. Außerdem können Sie den SQL-Code testen, um sicherzustellen, dass er genau das tut, was Sie tun möchten, bevor Sie fortfahren und eine andere Sprache zum Implementieren verwenden können.
Punkt, ich würde nie sql verwenden, wo Sie es als String-Namen haben. Es ist zu nah am Reservierten Wort und obwohl du ein kleines Programm machst; Wenn Sie es vergrößern, könnten Sie sich auf der ganzen Linie einmischen. Versuche dies.
String sqlInsertString = "INSERT INTO [dbo].[user_table] VALUES('" + NameOfUser + "," + username + "," + userPIN + "," + category + "," + BeginTimePicker.Text + "," + EndTimePicker.Text + "',@img)";
SqlCommand cmd = new SqlCommand(sqlInsertString, conn);
Es macht es viel einfacher zu folgen.
Es ist leicht, jemanden zu schlagen, aber ich glaube, dass, wenn es eine schlechte Frage ist, anhalten und die andere Person helfen mit, wie eine Frage zu strukturieren,
Nur eine kurze bearbeiten
Wenn die ID auf auto increment gesetzt ist, gibt es dort keine Probleme. Ich würde niemals Nullen in meinem Primärschlüssel zulassen.
In Bezug auf den Rest Ihrer Tabelle überprüfen Sie Ihre Testdaten, um zu sehen, ob Sie einen Wert haben, der optional sein kann, dann sollte das natürlich null sein.
Was sind die Spalten in der Tabelle user_table? – Steve
[Bobby Tables] (http://www.bobby-tables.com) wird der Party beitreten. –
@Steve Ich habe einen Screenshot der Tabelle mit der gestellten Frage hochgeladen. –