0
Ich bin neu in Delphi Interbase. Könnte jemand mir zeigen, wie man Interbase richtig benutzt, um Daten von einer Firebird Datenbank in der Kodierung abzufragen? Ich habe so etwas wie dies versucht:Verwenden von Interbase in delphi7
procedure TfJM00001.af_search;
var
i : integer;
qryQuery : TIBdataset;
sql : string;
begin
Try
qryQuery := TIBDataSet.Create(nil);
qryQuery.Database := IBDatabase1;
qryQuery.Transaction := qryQuery.Database.DefaultTransaction;
sql := ' select pro.pro_id, pro.pro_nm, cat.cat_nm, div.division_nm, pro.price, pro.weight, pro.qty , typ.type_nm, pro.images ' + #13#10 +
' from product pro ' +#13#10+
' left join division div on div.division_id = pro.division_id ' +#13#10+
' left join category cat on cat.cat_id = pro.cat_id ' +#13#10+
' left join tbl_type typ on typ.type_id = pro.type_id; ' ;
try
qryQuery.Close;
qryQuery.SelectSQL.Text := sql;
qryQuery.Open;
if qryQuery.RecordCount < 0 then exit;
with cxGrid1BandedTableView1.DataController do
begin
RecordCount := 0;
BeginUpdate;
while not(qryQuery.Eof) do
begin
i := AppendRecord;
SetValue(i, col_Pro_Id.Index ,qryQuery.FieldByName('PRO_ID').AsString);
SetValue(i, col_Pro_NM.Index ,qryQuery.FieldByName('PRO_NM').AsString);
SetValue(i, col_Cat_NM.Index ,qryQuery.FieldByName('CAT_NM').AsString);
SetValue(i, col_Type_NM.Index ,qryQuery.FieldByName('TYPE_NM').AsString);
SetValue(i, col_Price.Index ,qryQuery.FieldByName('PRICE').AsString);
// SetValue(i, Col_Description.Index ,qryQuery.FieldByName('PRO_NM').AsString);
SetValue(i, Col_Weight.Index ,qryQuery.FieldByName('WEIGHT').AsString);
SetValue(i, col_Qty.Index ,qryQuery.FieldByName('QTY').AsString);
SetValue(i, col_Division.Index ,qryQuery.FieldByName('DIVISION_NM').AsString);
// SetValue(i, col_register_date.Index ,qryQuery.FieldByName('PRO_NM').AsString);
//SetValue(i, col_Compound.Index ,qryQuery.FieldByName('Images').AsVariant);
qryQuery.Next;
end;
EndUpdate;
end;
except on
e : exception do
begin
showmessage('Error Message : ' + e.Message);
end;
end;
Finally
qryQuery.Database.DefaultTransaction.Active := False;
end;
end;
SO ist über ** spezifische ** Fragen. Was genaues Problem hast du? – MartynA
Firebird! = Interbase. Ist Ihre Frage wirklich über Interbase oder über Firebird, weil diese beiden nicht (mehr) identisch sind und Sie Interbase nicht verwenden können, um eine Firebird-Datenbank abzufragen. –
Ich habe eine Datenbank, die eine (* .fdb) ist und in meinem Programm Interbase-Komponente verwendet, um Daten von (*. Fdb) abzufragen ist es okay, das zu tun? oder gibt es noch andere, um dies zu erreichen? –