hi
erstmal der code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69:
| unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IBDatabase, DB, IBCustomDataSet, IBQuery, StdCtrls, IBTable, Grids, DBGrids, IBSQL;
type TForm2 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; IBDatabase1: TIBDatabase; IBTransaction1: TIBTransaction; IBDataSet1: TIBDataSet; DataSource1: TDataSource; DBGrid1: TDBGrid; IBSQL1: TIBSQL; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button2Click(Sender: TObject); private public end;
var Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject); begin IBDatabase1.Open; IBTransaction1.StartTransaction; IBDataSet1.Open; end;
procedure TForm2.Button2Click(Sender: TObject); begin with IBSQL1 do begin IBSQL1.SQL.Text := 'insert into ADRESSE (VORNAME, NAME, ADRESSE, TELEFON) values (' + Edit1.Text + ', ' + Edit2.Text + ', ' + Edit3.Text + ', ' + Edit4.Text + ')'; IBSQL1.ExecQuery; IBSQL1.SQL.Clear; IBSQL1.SQL.Add('commit retain;'); IBSQL1.ExecQuery; end; end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin IBTransaction1.Commit; IBDatabase1.Close; end;
end. |
ich bekomme den error, dass die column "VORNAME" nicht bekannt ist, obwohl sie exisitert. das gleiche, wenn ich versuche jeden spaltennamen einzeln einzufügen. also:
'insert into ADRESSE (NAME) values ('+ Edit2.Text + ')');
usw...
im anhang ist nochmal der fehler und die db struktur. bei button1click wird korrekt zur datenbank verbunden und diese auch korrekt ausgelesen (in ein dbgrid). also muss es wohl an der query liegen. die query ist auch zur IBDatabase und ihrer IBTransaction verknüpft.
jemand ne idee was ich falsch mache ?
edit: hat sich erledigt. das problem war, dass der string in editX.Text mit 'string' begrenzt sein musste...auch wenn nicht nicht verstehe wieso er deswegen eine column als unbekannt angibt!? da war der error irgendwie am falschen platz.