Hallo
jetzt wird ein bischen kompliziert. Ich schreibe gerade an einer Datenbank Anwendung die auf
MYSQL bassiert. Dazu habe ich die Zeos-Kompos verwendet (die hier aber eh scheinbar keiner kennt) auf dem Formular habe ich:
TMySQLDatabase (dbmain)
TMySQLTransact (trmain)
TMySQLQuery (qrmain)
jetzt habe ich eine funtion geschrieben:
Code:
function TForm1.execquery(querystring:string):integer;
begin;
memo1.Lines.Add(querystring); //Zum Debugen
qrmain.sql.Clear;
qrmain.sql.Add(querystring);
qrmain.ExecSql;
qrMain.Open;
memo1.lines.add('Resultcount: '+inttostr(qrmain.RecordCount)+'/Fieldscount: '+inttostr(qrmain.Fields.Count)); //Zum debugen
result := qrmain.RecordCount;
end;
Wenn ich jetzt irgendwelche lese-Querys ausführe, dann funzt das auch. Also z.B.
Code:
execquery('SELECT * FROM konto WHERE id='+inttostr(selected^.dbid)+';');
nur, und jetzt kommt mein Problem:
wenn ich ein
Query, ausführe, dass in die Datenbank schreibt, dann enstehen die Einträge 4 mal.
also z.B.
Code:
form1.execquery('INSERT INTO belege (kontoid, betrag, Text1, Text2, typ, datum, spendenbescheinigungsnr, spendenbescheinigungdatum, sachlicherichtigkeit, rechnerischerichtigkeit)'+
' VALUES ('''+unit1.selected^.dbnr+''','''+currencyedit1.Text+''', '''+memo1.lines.Text+''', '''+memo2.lines.Text+''', 1,'''+dateedit2.Text+''', '''+edit1.text+''','''+dateedit1.Text+''', '''+edit2.text+''', '''+edit3.text+''');');
in meinem Debug-Memo taucht das
Query nur einmal auf, aber nachher ist der Datensatz 4 mal da.
Woran kann das liegen?