Mein Problem ist ziemlich banal und für jemanden, der sich auskennt eher lächerlich. Ich hoffe dennoch, dass sich jemand mal die Zeit nimmt, sich folgendes Textsegement anzuschauen und zu sagen, wie ich es richtig machen kann.
Ich habe hier ein Formular, in der ich Daten zu einer Tabelle aufnehme und gleichzeitig zu einer damit in Verbindung stehender Tabelle. (1:N Beziehung) Die Primärschlüssel erfolgen über Autowerte, das sich nur schwer oder garnicht ein Primärschlüssel definieren lässt.
Mein Problem ist, dass die Anwendung so läuft, aber theoritsch bei gleichzeitigen Zugriffen zu Fehlern kommen kann, bezüglich der Beziehungen. Siehe Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| DBCommand.CommandText = "INSERT INTO tblThread (Datum, Ueberschrift, StudentenID) VALUES ('" + DateTime.Now.ToShortDateString() + "', '" + txtUeberschrift.Text + "', 1)"; DBCommand.ExecuteNonQuery(); DBCommand.CommandText = "SELECT * FROM tblThread ORDER BY ID DESC"; DBReader = DBCommand.ExecuteReader(); DBReader.Read(); ID = Int64.Parse(DBReader["ID"].ToString()); DBReader.Close();
foreach (ListItem LI in rblKnoten.Items) { DBCommand.CommandText = "INSERT INTO tblRelOrdnerThread (IDOrdner, IDThread) VALUES (" + LI.Value + ", " + ID.ToString() + ")"; DBCommand.ExecuteNonQuery(); } |
Es gibt hier also einen kritischen Abschnitt, der nicht richtig gesichert ist. Ich hoffe, ich konnte nach einem langen Arbeitstag mich noch verständlich ausgedrückt.
Viele Grüße