| Autor |
Beitrag |
flankengott
      
Beiträge: 67
|
Verfasst: Mi 14.11.07 16:34
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
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mi 14.11.07 16:42
hi
versuchs mal mit dem * als Jokerzeichen, da msaccess
_________________ Gruß Aga
|
|
covel
      
Beiträge: 131
Win XP PRo
Borland D7/C#
|
Verfasst: Mi 14.11.07 16:44
Hi,
ich bin mir nicht sicher aber probier mal:
adodataset2.active:= true
|
|
flankengott 
      
Beiträge: 67
|
Verfasst: 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
      
Beiträge: 131
Win XP PRo
Borland D7/C#
|
Verfasst: 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 : delphi.about.com/od/...a/databasecourse.htm empfehlen
|
|
flankengott 
      
Beiträge: 67
|
Verfasst: 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
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mi 14.11.07 23:03
Ich vermute mal, dein ADODataset ist nicht mit einer ADOConnection verbunden bzw. Du hast keinen ConnectionString definiert.
_________________ Na denn, dann. Bis dann, denn.
|
|
flankengott 
      
Beiträge: 67
|
Verfasst: 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
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Do 15.11.07 08:47
Da hilft nur eines:
Demo-Projekt erstellen, das den Fehler reproduziert und hier einstellen.
_________________ Na denn, dann. Bis dann, denn.
|
|
iKilledKenny
      
Beiträge: 394
Erhaltene Danke: 8
Win XP
D5 Prof, C# Express 2005
|
Verfasst: Do 15.11.07 09:22
Setze
Delphi-Quelltext 1:
| AdoConnection.LoginPrompt := False; |
dann wird die Anmeldung nicht mehr erscheinen.
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: 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.
_________________ Na denn, dann. Bis dann, denn.
|
|
iKilledKenny
      
Beiträge: 394
Erhaltene Danke: 8
Win XP
D5 Prof, C# Express 2005
|
Verfasst: Do 15.11.07 11:22
Nichts anderes hatte ich geschrieben... 
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Do 15.11.07 12:10
Hups. Hatte ich übersehen...
_________________ Na denn, dann. Bis dann, denn.
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Do 15.11.07 12:45
hi
eine Erkärung für dieses Verhalten, wäre hier nachzulesen
entwickler-forum.de/...dex.php/t-12791.html
_________________ Gruß Aga
|
|
flankengott 
      
Beiträge: 67
|
Verfasst: Do 15.11.07 13:37
hm
wie kann man im objektinspektor sql was zuweißen?...
mfg
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Do 15.11.07 14:02
flankengott hat folgendes geschrieben: | | [...] wie kann man im objektinspektor sql was zuweißen?... [...] |
z.B. mit Tipp-Ex...
SCNR
Acho so, Du meintest zuweisen? Normalerweise einfach auf die drei Punkte neben der Eigenschaft klicken...
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: 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.
_________________ Gruß Aga
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 67
|
Verfasst: 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
      
Beiträge: 68
|
Verfasst: 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
|
|