Hallo,
Zitat:
Dass das 'BILDER' kein
SQL-Befehl ist, ist mir klar, ich habe es in einem Post weiter oben gelesen.
Scheinbar aber die Links dazu übersehen. Ließ Dir doch mal die Dokumentation dazu durch.
Zitat:
Ob SELECT * FROM BILDER im Modus CMDTABLE funktioniert, habe ich nicht getestet.
Ist nicht nötig, funktioniert sicher nicht.
CommandType := cmdTable
erwartet in der Eigenschaft CommandText einen Tabellennamen und nichts anderes.
Wenn Du alle Datensätze einer Tabelle (hier BILDER) anzeigen möchtest (TDataSource an die entsprechende Komponente gebunden):
Delphi-Quellcode:
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'BILDER';
ADODataSet1.CommandType := cmdTable;
ADODataSet1.Open;
oder
Delphi-Quellcode:
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'SELECT * FROM BILDER';
ADODataSet1.CommandType := cmdText;
ADODataSet1.Open;
oder
Delphi-Quellcode:
ADOTable1.Connection := ADOConnection1;
ADOTable1.Tablename := 'BILDER';
ADOTable1.Open;
oder
Delphi-Quellcode:
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.SQL.Text := 'SELECT * FROM BILDER';
ADOQuery1.Open;
liefert Dir identische Ergebnisse. Such es Dir aus, welche Variante Dir gefällt.
Wenn Du einen Datensatz in eine Tabelle (hier Arten) einfügen möchtest, dann:
Delphi-Quellcode:
ADOCommand1.Connection := ADOConnection1;
ADOCommand1.CommandText := 'INSERT INTO Arten(Vorkommen, Familie, Unterfamilie, Gattung, Tagfalter, Nachtfalter) VALUES([...])';
ADOCommand1.Execute;
oder
Delphi-Quellcode:
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'Arten';
ADODataSet1.CommandType := cmdTable;
ADODataSet1.Insert; // oder ADODataSet1.Append;
ADODataSet1.FieldByName ('Vorkommen').AsString := '[...]';
[...]
ADODataSet1.FieldByName ('Nachtfalter').AsString := '[...]';
ADODataSet1.Post
oder
Delphi-Quellcode:
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.SQL.Text := 'INSERT INTO Arten(Vorkommen, Familie, Unterfamilie, Gattung, Tagfalter, Nachtfalter) VALUES([...])';
ADOCommand1.ExeSQL;
oder
Delphi-Quellcode:
ADOTable1.Connection := ADOConnection1;
ADOTable1.Tablename := 'Arten';
ADOTable1.Open;
ADOTable1.Insert; // oder ADOTable1.Append;
ADOTable1.FieldByName ('Vorkommen').AsString := '[...]';
[...]
ADOTable1.FieldByName ('Nachtfalter').AsString := '[...]';
ADOTable1.Post
legt Dir einen neun Datensatz in der Tabelle an. Such es Dir aus, welche Variante Dir gefällt.
Zitat:
Wie auch immer, jetzt muss ich erstmal grundlegend einiges umstricken und die AdoConnection sowie weitere Datasets einbauen.
Da ist eigentlich nichts grundlegendens zu ändern! Nur die ADOConntcion entsprechend initialisieren und entsprechend an die Komponente binden. That' s all!
Wenn Du ein Join über mehrere Tabellen fahren möchtest, dann TADODataset oder TADOQuery.
Nur: Mir ist nur noch immer nicht klar wo denn Dein Problem nun eigentlich liegt.
Gruß