

Delphi - BDE - TQuery - tabuľka v pamäti
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, DBTables;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Query1: TQuery;
end;
var
Form1: TForm1;
Field1: TFloatField;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1 := TQuery.Create(Self);
Field1 := TFloatField.Create(nil);
Field1.FieldName := 'Cislo';
// Field1.Size := 5;
Field1.DisplayWidth := 5;
Field1.Precision := 2;
Query1.Fields.Add(Field1);
Query1.Active := True;
DataSource1.DataSet := Query1;
try
Query1.Append;
Query1.Fields[0].AsFloat := 10;
Query1.Post;
finally
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Query1.Free;
end;
end.
Čo robím zle? Ak povolím riadok Field1.Size, tak dostanem chybu, že je to chybná dĺžka, ak to nepovolím, tak pri Active := True dostanem "No SQL statement available". Keďže je tabuľka vytváraná v pamäti, tak jej fyzické meno neexistuje. Zrejme je chyba niekde v tom. Tiež by ma zaujímalo, čo s tou dĺžkou.
Všetko mi funguje, až na jeden nepochopiteľný detail. Na začiatku sa mi vytvorí tabuľka, ktorá na disku nie je a po ukončený programu ju na disku nájdem aj s obsahom. Po opätovnom spustení programu mi to prejde vetvou then a tabuľka je čistá:
DatabaseName som doteraz nastavené nemal, tak som to rýchlo nastavil na 'DBDEMOS', ale správa sa to rovnako.
Podivné. Já to dělám taky tak:
Ak sa nebojíš mojich kódov, tak ti to asi pošlem. Ja som už nervy s tým stratil. Už som všetky vlastnosti prešiel aj 3x a nič.
Odoslané na: info@arkotechnik.cz
Tak jsem ti před chvílí majlem odpověděl.
Síce meškal, ale práve dorazil, idem čítať, ešte raz ďakujem.
Nemáš za co.

Ďakujem. Pomohlo. A ja si môžem lámať hlavu. Môžem poprosiť o vysvetlenie významu DatabaseName? V helpe je napísané niečo v zmysle, že to určuje alias databázy alebo proste názov s akým vystupuje databáza, ale nerozumiem, čo to má spoločné s cestou.
Je to název databáze. V BDE je databáze řešena jako adresář, tudíž zde jde napsat cesta k datům. Je tu možno také uvést Alias databáze (zástupné jméno, zástupce pro označení toho adresáře), které je nadefinováno v BDE administrátoru (nebo API funkcema BDE - viz můj modul Rce_BDE).
Ďakujem, teraz už toto multirozvláknené vlákno hádam môžem uzavrieť.
Dobrá. Kdyžtak založ čerstvé vlákno na nový dotaz.
