Autor Beitrag
Arne Danikowski Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Mo 01.09.08 13:21 
ich befüchte mal, damit komm ich nicht zurecht aber trotztem vielen dank für deine Bemühungen.
jetzt geht zwar das ftString aber ein ASString hab ich immer noch ich

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
uses lager_data, lager_eingang, db;

lagerdata.ADOEingangQuery.SQL.Clear;
    lagerdata.ADOEingangQuery.SQL.Text:= 'SELECT Seriennummer FROM Eingang WHERE Seriennummer = :seriennr';
    lagerdata.ADOWareneingangQuery.Parameters.ParamByName('seriennr').DataType := ftString;
    lagerdata.ADOEingangQuery.Parameters.ParamByName('seriennr').??? (geht nicht)ASString
    lagerdata.ADOEingangQuery.open;
Robert.Wachtel
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: Mo 01.09.08 13:41 
Du könntest ja auch mal in die Hilfe schauen und nachsehen, welche Methoden/Eigenschaften ParamByName hat. Vielleicht gibt es ja eine Eigenschaft namens Value?
Arne Danikowski Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Mo 01.09.08 15:01 
Das hat irgenwie nicht hingehauen aber ich konnte das Proplem so lösen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Lagerdata.ADOEingangQuery.close;
  Lagerdata.ADOEingangQuery.SQL.clear;
  Lagerdata.ADOEingangTable.IndexFieldNames:='Seriennummer';
  lagerdata.ADOEingangQuery.SQL.Text := 'Select * From Eingang WHERE (Seriennummer LIKE ' + QuotedStr(sucheseriennr + '%') + ')';
  Lagerdata.ADOEingangQuery.Open;
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 01.09.08 15:09 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
lagerdata.ADOEingangQuery.SQL.Text:= 'SELECT Seriennummer FROM Eingang WHERE Seriennummer = :seriennr';
//lagerdata.ADOWareneingangQuery.Parameters.ParamByName('seriennr').DataType := ftString;
//          xxxxxxxxxxxxxxxxxxxx  BLÖDSINN wir arbeiten ja mit "ADOEingangQuery"
lagerdata.ADOEingangQuery.Parameters.ParamByName('seriennr').DataType := ftString;
lagerdata.ADOEingangQuery.Parameters.ParamByName('seriennr').Value := MyEdit.Text;
lagerdata.ADOEingangQuery.open;

Sollte funktionieren.

_________________
Na denn, dann. Bis dann, denn.
Arne Danikowski Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Mo 01.09.08 15:52 
tut es auch
vielen Dank !! :)
saxe66
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Do 11.09.08 13:02 
Titel: QuotedStr ist die schnellste Lösung
Sofern du in Textfeldern sucht, ist, so denke ich jedenfalls, die QuotedStr-Anweisung am effektivsten.

Also etwa so ...

var suche: string;

suche:=Edit1.Text;

Query.SQL.Add('select * from datenbank where seriennummer='+QuotedStr(suche));

Mehr ist hier nicht notwendig.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 11.09.08 13:10 
saxe66, das ist keine gute Idee, denn es kann sein, das das DBMS diese einfachen Hochkommata nicht akzeptiert.

Es ist wirklich besser, mit parametrisierten Queries zu arbeiten, weil nur hier sicher ist, das die Formatierung des SQL-Befehls korrekt ist.

_________________
Na denn, dann. Bis dann, denn.