verwendetes Datenbanksystem: SQL 2005
Guten Morgen!
Bei folgendem Code
using (dbBodySpoolDataContext datenbank = new dbBodySpoolDataContext())
{
Properties.Settings.Default.Reload();
spalte = new Spalten() { Seriennummer = (SN(s)), BK = dblres1, CK = dblres2, DK = dblres3, Kürzel = Kuerzel };
datenbank.Spalten.InsertOnSubmit(spalte);
datenbank.SubmitChanges();
}
erhalte ich diese Fehlermeldung
Das ganze hat so auch schon funktioniert. Musste aber zwischenzeitlich an der Datenbank etwas ändern, und kann nun leider nicht nachvollziehen woher dieser Fehler nun kommt.
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Für mich sieht es so aus, das du auf einer der Spalten ein Check Constraint liegen hast, und du ein ungültigen Wert in einen der Parameter schmeißt.
Sowas lässt sich sehr gut mit dem SQL Profiler nachvollziehen. Einfach anschmeißen und das INSERT Statement beobachten.
Musste aber zwischenzeitlich an der Datenbank etwas ändern, und kann nun leider nicht nachvollziehen woher dieser Fehler nun kommt.
Wenn du noch weist was (und das sollte man ja wissen), ist es doch noch einfacher herauszufinden.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Ich hatte der Tabelle 2 neue Spalten hinzugefügt. Danach trat dieser Fehler auf.
Ich hab diese nun testweise wieder entfernt, und alles läuft wieder wie es soll.
Leider hab ich keinen Plan warum das mit den 2 neuen Spalten nicht so will.
Ich muss dazu sagen, es ist mein ersten Projekt mit einem SQL-Server ...
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Haben diese beiden neuen Spalten ein NOT NULL? Wenn ja, liegt es daran. Die Spalten wollen mit einem Wert gefüllt werden.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Ich hatte sie so geändert dass auch NULL erlaubt ist. Kein Erfolg.
Aber auch nachdem ich ihnen Werte zugewiesen hatte war der Fehler nicht weg 🤔
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Hmm, schau dir mal an, was wirklich zum SQL Server geschickt wird (über den SQL Profiler) und führe dann das INSERT was im SQL Profiler auftaucht 1:1 im Management Studio aus. Da sollte dann eine genauere Fehlermeldung stehen.
Habe zwar zum Anfang viel mit Linq gemacht, aber momentan gar nicht mehr. Deswegen weis ich nicht 100%ig was er will. Sind bis jetzt an sich nur Vermutungen 😉. Aber wenn eine neue Spalte dazugekommen ist, kann es ja nur an diesem Kontext liegen.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Mal eine ganz andere Frage.
Ich hab den Primärschlüßel auf "Seriennummer" festgelegt.
Die SN besteht aus einem Buchstaben und einer max. 4-stelligen Zahl.
Also z.B. A123. Wie lege ich die Sortierreihenfolge fest dass ich nicht
C1
C10
C100
C101
C102
C103
C104
C105
C106
C107
C108
C109
C11
C110
sondern eben
C1
C2
C3
.
.
.
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Schneide den erseten Buchstaben weg, Konventiere es zu einem int Typ und sortiere nach dem.
So mach ich es meistens, daher hoffe ich auch, eine andere Lösung hier zu erhalten 🙂
lg Lion
lg Lion
Wo soll ich da den ersten Buchstaben wegschneiden?
Die Tabelle geht von A0 - A999, dann geht es mit B0 - B999 weiter. Und das läuft dann eben bis Z durch
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Ja, aber dann hast du den Buchstaben und die Zahl, man kann ja mehr als ein Feld bei Order By angeben...
Order By Buchstabe (A -> Z), Zahl
lg Lion
lg Lion
Wo genau gibst du das "order by" an? Glaub langsam blick ich echt nimmer durch X(
Hab schon paar graue Haare mehr!
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Mit
SELECT Seriennummer, BK, CK, DK, Timestamp
FROM Spalten
GROUP BY BK, CK, DK, Seriennummer, Timestamp
ORDER BY Timestamp, Seriennummer
Bekomm ich die Tabelle wie ich sie gerne hätte.
Aber das ist ja leider nur eine Abfrage ...
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil:
Wo brauchst du denn sonst die Reihenfolge, wenn nicht in einer Abfrage?
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Wirklich gute Frage!
Hatte da wohl nen ganz üblen Denkfehler! Aber ist ja auch schon Freitag, und kurz vor Feierabend 😉
Hab jetzt einfach meine Abfrage im DataSet geändert, und schon sieht das richtig nett aus!
Bleibt nur noch der Fehler von heute morgen... Aber das reicht auch am Montag noch
"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil: