[
OT] So, wieder mal Zeit sich den Delphi-Problemen zu widmen[/
OT]
Hmm ...
, der Tipp von RWarnecke macht leider kein Unterschied.
Aber die Änderung nach Joachim's Tipp
QueryRef.DatabaseName:=ConnRef.Name;
hat eine andere Fehlermeldung gebracht.
Code:
The DatabaseName property has not been assigned a value.
Wie kann das denn sein?
Vorher hatte ich
QueryRef.DatabaseName:='ConnRef';
was in meinen anderen Programmen in der Art eigentlich funktionierte.
Um zu zeigen wo rum es eigendlich geht, hier mal der Code:
Delphi-Quellcode:
ConnRef := TAdsConnection.Create(nil);
try
ConnRef.ConnectPath := 'D:\Data\';
ConnRef.AdsServerTypes := [stADS_LOCAL];
ConnRef.Connect;
if ConnRef.IsConnected then
begin
QueryRef := TAdsQuery.Create(nil);
// QueryRef.DatabaseName := 'ConnRef';
QueryRef.DatabaseName := ConnRef.Name;
QueryRef.SourceTableType := ttAdsCDX; // Muss CDX sein!
QueryRef.AdsTableOptions.AdsCharType := OEM; // Muss OEM sein!
QueryRef.SQL.Text := 'CREATE TABLE test (id integer);';
try
QueryRef.ExecSQL;
except on E: EADSDatabaseError do
ShowMessage (e.Message);
end;
QueryRef.close;
QueryRef.Free;
end;
finally
ConnRef.Free;
end;
Mit der Reihenfolge der Erstellungen sollte es somit keine Probleme geben.
Meine AdsKomponenten liegen nicht auf einer Form, denn in meiner
Unit gibt es keine Form.
Irgendwo habe ich einen Denkfehler, ich weiß aber nicht wo.
Oder ich seh den Wald von lauter Bäumen nicht!?
Grüße
gmc