AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Blob mit SQL nach Teilstring durchsuchen?
Thema durchsuchen
Ansicht
Themen-Optionen

Blob mit SQL nach Teilstring durchsuchen?

Ein Thema von Angel4585 · begonnen am 25. Okt 2005 · letzter Beitrag vom 28. Okt 2005
Antwort Antwort
Seite 3 von 5     123 45      
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#21

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 09:39
tblName ist dann bei mir 'Int.db'
fldName ist f.FieldName
KeyName ist ? =fldName?
KeyValue ist SearchString

Edit: Und statt AnsiContainsText() => Pos()>0
Edit2: Ich glaub ich stell mich irgendwie hammermäßig dumm an...wenn ich das so mache dann kommt die Meldung"Keine Übereinstimmung der Typen im Ausdruck" sobald die Query geöffnet wird.
Martin Weber
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#22

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 10:12
Ich habe meinen Code weiter oben etwas mehr an deine Bedürfnisse angepasst. Vielleicht wird ja dadurch alles etwas klarer für dich?

marabu
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#23

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 10:12
Kurze Frage, wie wäre es denn mit:
Delphi-Quellcode:
Var
  sString : TStringStream;

Begin
  sString := TStringStream.Create;
  Try
    myBlobField.SavetoStream (sString);
    If Pos ('Foobar', sString.DataString) Then Whatever
  finally
    sString.Free
  End;
End;
Hab ich nicht probiert, sollte aber funktionieren, oder?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#24

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 10:19
myBlobField wäre in unserem Beispiel ja dann dataset.Field.Fields[i]
allerdings gibbet da glaub ich kein SaveToStream.
Martin Weber
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#25

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 10:22
TBlobField (MyTable.Fields[i]) So schon
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#26

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 10:34
Gefällt mir.

Delphi-Quellcode:
function GetMemo(tblName, fldName, keyName: string; keyValue: variant): string;
const
  SELECT = 'SELECT %s FROM %s WHERE %s = :key';
var
  ss: TStringStream;
  q: TQuery;
begin
  q := TQuery.Create(nil);
  with q do
  begin
    DatabaseName := 'TEST';
    SQL.Text := Format(SELECT, [fldName, tblName, keyName]);
    Params.ParamValues['key'] := keyValue;
    Open;
    ss := TStringStream.Create('');
    TBlobField(Fields[0]).SaveToStream(ss);
    Result := ss.DataString;
    ss.Free;
    Close;
  end;
end;
marabu
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#27

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 10:44
@marabu

pkName := NameOfCandidateKeyOfDataSet;

Das heisst doch ich brauch in meiner Tabelle ine Feld wo ich den reinen Text des Memos reinschreibe. und den Name dieses Feldes muss ich hier rein schreiben oder?
Martin Weber
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#28

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 11:25
Ich bin ein schlechter Lehrer, scheint mir. keyName ist der Name des Feldes in deiner Tabelle INT, den du dort als Primary Key festgelegt hast. Solltest du keinen PK haben, dann musst du statt dessen einen Candidate Key verwenden. Beide Keys haben die Eigenschaft, dass sie den Datensatz eindeutig identifizieren können.

Hoffentlich habe ich es jetzt verständlicher ausgedrückt.

marabu (auf dem Weg zum Mittagstisch)
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#29

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 11:52
Das funzt jetzt genauso gut wie:

Delphi-Quellcode:
Accept := false;
with dataset do
 for i:= 0 to Pred(FieldCount) do
  if Pos(SearchString,Fields[i].AsString)> 0 then
   begin
   Accept := true;
   break;
   end;
Gleiche Fehlermeldung: TSearch : Auf Feld 'Erstnotiz' kann in einem Filter nicht zugegriffen werden.

Info : erstnotiz ist ein memoBlob, TSearch mein Table
Martin Weber
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#30

Re: Blob mit SQL nach Teilstring durchsuchen?

  Alt 26. Okt 2005, 11:56
Wie heißt denn das Feld in der Tabelle INT, welches als Primärschlüssel festgelegt ist und welchen Typ hat dieses Feld? In der Datenbankoberfläche erkennst du es am Stern in der letzten Spalte, wenn du die Strukturinformationen zur Tabelle anschaust.

marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz