Entwickler-Ecke
Datenbanken - ADO_Datenbank
flankengott - Mi 14.11.07 16:34
Titel: ADO_Datenbank
Hallo!
Ich arbeite gerade an einem Projekt für einen Arzt.
Mein Problem dabei ist:
ich habe ein edit feld, mit dem ich in meiner acess db nach dem familiennamen suchen kann.
ich habe mir ein 2 adodatset auf die form gelegt und den tag
SQL-Anweisung
1: 2: 3:
| select * from Daten8i
where Familienname like :Suchname |
und später in da onklick meines buttons
adodataset2.Close;
adodataset2.Parameters.ParamValues['Suchname'].asstring:=edit1.text+'%';
adodataset2.Open;
geschrieben.
wieso funktioniert das bitte nicht?
vielleicht wisst ihr weiter.
Agawain - Mi 14.11.07 16:42
hi
versuchs mal mit dem * als Jokerzeichen, da msaccess
covel - Mi 14.11.07 16:44
Hi,
ich bin mir nicht sicher aber probier mal:
adodataset2.active:= true
flankengott - Mi 14.11.07 16:58
hm
ich meine natürlich adoquery nicht dataset.
ich habe beide vorschläge ausprobiert, doch es kommt immer noch die gleiche fehlermeldung:
"variante referenziert kein Automatisierungsobjekt"
covel - Mi 14.11.07 17:17
Also ich habe das immer wie folgt gemacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| query := TADOQuery.Create(self); query.Connection := xyz; query.Close; query.SQL.Clear; query.sql.add('Select bliblablub...'); query.ExecSQL; query.Close; query.free; |
ich hoffe das hilft dir, ansonsten kann ich dir folgenden link :
http://delphi.about.com/od/database/a/databasecourse.htm empfehlen
flankengott - Mi 14.11.07 22:09
irgendwie find ich den fehler nicht.
komischerweise ist es mit einem "normalen" query kein problem, natürlich brauch ich eine delphi db - paradox...
doch access is halt doch funktionaler.
vielleicht kommt jemand drauf :(
PS: weis einer von euch, wieso bei jedem start des progis ein fenster kommt, sehr klein aber, wo drinn steht ADO qausi anmelden...
?!?!?!
lg
alzaimar - Mi 14.11.07 23:03
Ich vermute mal, dein ADODataset ist nicht mit einer ADOConnection verbunden bzw. Du hast keinen ConnectionString definiert.
flankengott - Mi 14.11.07 23:20
habe ich eigentlich beides.
bei adoquery kann man entweder connection oder connectionsstring einstellen, aber keinesfalls beides, aber den connectionstring würd ich mir ja im prinzip sparren weil ich die tabelle ja so und so beim adodataset reingegladen bzw. eingebunden habe!!!
mfg
alzaimar - Do 15.11.07 08:47
Da hilft nur eines:
Demo-Projekt erstellen, das den Fehler reproduziert und hier einstellen.
iKilledKenny - Do 15.11.07 09:22
Setze
Delphi-Quelltext
1:
| AdoConnection.LoginPrompt := False; |
dann wird die Anmeldung nicht mehr erscheinen.
alzaimar - Do 15.11.07 11:10
Das
iKilledKenny hat folgendes geschrieben: |
Delphi-Quelltext 1:
| AdoConnection.LoginPrompt := False; | |
Löst das
flankengott hat folgendes geschrieben: |
PS: weis einer von euch, wieso bei jedem start des progis ein fenster kommt, sehr klein aber, wo drinn steht ADO qausi anmelden...?!?!?! |
Aber nicht das:
flankengott hat folgendes geschrieben: |
Ich habe beide vorschläge ausprobiert, doch es kommt immer noch die gleiche fehlermeldung:
"variante referenziert kein Automatisierungsobjekt" |
Und dafür bastest Du dir jetzt mal ein Beispielprojekt.
iKilledKenny - Do 15.11.07 11:22
Nichts anderes hatte ich geschrieben... :gruebel:
alzaimar - Do 15.11.07 12:10
Hups. Hatte ich übersehen...
flankengott - Do 15.11.07 13:37
hm
wie kann man im objektinspektor sql was zuweißen?...
mfg
Robert.Wachtel - Do 15.11.07 14:02
flankengott hat folgendes geschrieben: |
| [...] wie kann man im objektinspektor sql was zuweißen?... [...] |
z.B. mit Tipp-Ex... :mrgreen:
SCNR
Acho so, Du meintest
zuweisen? Normalerweise einfach auf die drei Punkte neben der Eigenschaft klicken...
Agawain - Do 15.11.07 14:19
hi
so wie ich es verstanden habe und die Fehlermeldung interpretiere existiert
der Parameter oder die Parametercollection nicht. Nun kann ich leider nicht nachgucken, weil ich hier kein ADO habe.
Aber probier mal mit dem Command-Objekt zu arbeiten, mir scheint nach den Ausführungen von Andreas Kosch, daß es egal ist, was Du mit dem OI machst,
das ganze Zeug wird nachher von dem COM-Objekt zusammenbastelt.
Dazu muß man erstmal die Parameters createn.
Delete - Mo 19.11.07 00:01
im übrigen sieht 'n sql statement mit like so aus:
select * from daten8i where familienname like "%bla";
also in deinem fall, ohne parameter...
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| with query do begin sql.clear; sql.add('select * from daten8i where familienname like ' + quotedstr('%' + edit1.text); open; ... |
<HTH>
flankengott - Mi 21.11.07 12:29
danke, aber das funktioniert auch nicht.
ich klicke wie ein wahnsinniger auf den button und nichts geschieht.
wenn ich das adoquery active=true setzen will, kommt eine meldung dass ich select usw. verwenden soll!
lg
MarkusB - Sa 24.11.07 09:17
Moin flankengott!
Das habe ich ausprobiert (ist OK.):
SQL-Anweisung
1: 2: 3: 4: 5: 6:
| ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from tabelle1'); ADOQuery1.SQL.Add('where persname like :vname'); ADOQuery1.Parameters.ParamByName('vname').Value := 'T%'; ADOQuery1.Open; |
Viele Grüße
markus
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!