Einzelnen Beitrag anzeigen

daniel71

Registriert seit: 27. Sep 2007
38 Beiträge
 
Delphi XE Professional
 
#4

Re: Strings mit Umlaute aus MSSQL lesen oder schreiben

  Alt 12. Okt 2007, 23:34
Hallo

Irgendwie klappt das nicht.

Die Parametrisierten Abfragen ergaben kein Ergebnis Bei Umlauten
Ich bin beim suchen, hier im Forum, darauf gestossen dass COLLATE auch in der Abfrage eingebunden werden kann.

Sofern es richtig ist so wie ich es anwende?
Delphi-Quellcode:
procedure TForm1.Abfrage;
begin
 with ADOQuery1 do Begin
  Close;
  SQL.Text:= 'SELECT '+
              '* '+
             'FROM '+
              'GROUP_ g '+
             'WHERE '+
              'g.NAME_ = :KundenName '+
             'COLLATE '+
                'Latin1_General_CI_AS ';
  ParamCheck := True;
  Parameters.ParamByName('KundenName').Value := Edit1.Text;
  Open;
 end; //Query1 anzahl freie ISDN Basisanschlüsse ermitteln
 ADOQuery1.First;
 Label1.Caption := IntToStr(ADOQuery1.RecordCount);
 Label2.Caption := ADOQuery1.FieldByName('NAME_').AsString;
 Label3.Caption := ADOQuery1.FieldByName('ID').AsString;
end;
Jedenfalls funktioniert es, leider auch nur ohne Umlaute.

Ich bin wirklich bald am verzweifeln.
Wieso kann ich zwar Umlaute aus der Tabelle anzeigen lassen, aber nicht danach suchen?
Delphi-Quellcode:
procedure TForm1.Abfrage;
begin
 with ADOQuery1 do Begin
  Close;
  SQL.Text:= 'SELECT '+
              '* '+
             'FROM '+
              'GROUP_ g '+
             'WHERE '+
              'g.ID = :KundenNummer '+
             'COLLATE '+
                'Latin1_General_CI_AS ';
  ParamCheck := True;
  Parameters.ParamByName('KundenNummer').Value := Edit1.Text;
  Open;
 end; //Query1 anzahl freie ISDN Basisanschlüsse ermitteln
 ADOQuery1.First;
 Label1.Caption := IntToStr(ADOQuery1.RecordCount);
 Label2.Caption := ADOQuery1.FieldByName('NAME_').AsString;
 Label3.Caption := ADOQuery1.FieldByName('ID').AsString;
end;
Label2 zeigt korrekt die Kundennamen mit Umlauten.


Gruss Daniel
  Mit Zitat antworten Zitat