Zum Inhalt springen

Syntaxproblem mit C# und MySQL


Chirin

Empfohlene Beiträge

Hallo, habe per C# und MySQL folgende Syntax:

Problem selbst:

string com = "Insert Into T_Event (L_ID, E_Date, E_Uhr, U_ID, E_Kommentar, EVS_ID) "

+ "Values ('" + cb_E_loc.SelectedIndex + "', '" + tb_E_Datum.Text 

+ "', '" + cb_E_Uhrzeit.Text + "', " + mainUser.U_ID + ", '" 

+ tb_E_Kommentar.Text + "', " + cb_E_Status.SelectedIndex + ")";

res = dbcon.DB_Insert(com);


Event_insertPosition(res); // Eintragen der Position  
dbcon.DB_Insert
public static long DB_Insert(string com_str)

        {

            long erg = 0;

            MySqlCommand command = connection.CreateCommand();

            command.CommandText = com_str;

            command.Connection.Open();

            erg = command.ExecuteNonQuery();

            connection.Close();

            return erg;

        }

res sollte eigentlich die aktuelle Event_ID aus der Tabelle T_Event zurückgeben (AutoIncrement-Primärschlüssel), tatsächlich kommt nur '1' raus, bei egal welchem Datensatz.

Leider weiss ich nicht, wo hier momentan das Problem liegen könnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

die event-id soll die einmalige id des events zurückgeben.

event = datensatz, der eigenschaften L_ID usw enthält

da die event-id bzw das event später weiter verwendet wird, ist das somit das identifikationsmerkmal

der user trägt ein event ein und liest es später wieder aus. die event_id wird dauerhaft gespeichert. vorstellbar wie eine artikelnummer für artikel in einem bestellsystem

da aber nun vorher durchaus event_id 151 existieren kann und das einzutragende event bzw das eben eingetragene event die nummer 152 bekommt, benötige ich eben genau diese ID

auf grund einer hohen nutzungswahrscheinlichkeit weiss ich nicht, ob es sinnvoll ist, einfach die id der letzten zeile zu lesen

Bearbeitet von Chirin
Link zu diesem Kommentar
Auf anderen Seiten teilen

string com = "Insert Into T_Event (L_ID, E_Date, E_Uhr, U_ID, E_Kommentar, EVS_ID) "
+ "Values ('" + cb_E_loc.SelectedIndex + "', '" + tb_E_Datum.Text
+ "', '" + cb_E_Uhrzeit.Text + "', " + mainUser.U_ID + ", '"
+ tb_E_Kommentar.Text + "', " + cb_E_Status.SelectedIndex + ")";[/PHP]

Hat zwar nichts mit dem Thema zu tun...

Aber: Warum benutzt Du keinen Formatstring?

Ist zum einen effektiver,

[PHP]
string insertString = string.Format("Insert Into T_Event (L_ID, E_Date, E_Uhr, U_ID, E_Kommentar, EVS_ID) Values ('{0}','{1}','{2}','{3}','{4}','{5}')", cb_E_loc.SelectedIndex, tb_E_Datum.Text, cb_E_Uhrzeit.Text, mainUser.U_ID, tb_E_Kommentar.Text, cb_E_Status.SelectedIndex);

und vor allem wird für denjenigen, der Deinen Code später mal lesen soll, schneller ersichtlich, dass es sich um eine Mischung aus einem String und entsprechenden Variablen handelt. Auf einen Blick ist zu erkennen, dass hier 6 Variablen an der Zusammenstellung des Strings beteiligt sind.

Wer's noch schöner haben will, kann das Ganze auch mit einem StringBuilder bauen und so für jede Variable, die im String landet, eine Zeile mit dem StringBuilder (Methode: AppendFormat) hinzufügen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...