Einzelnen Beitrag anzeigen

unclememyEX

Registriert seit: 5. Apr 2008
10 Beiträge
 
#10

Re: MySQL-Direct & Zeichensatz

  Alt 24. Feb 2009, 01:27
Wenn Sie das Bild sehen unterschiedliche Felder mit unterschiedlichen Zeichensatzen.

Code sehen ganz formal aus :

.....
Delphi-Quellcode:
  q := 'SELECT id, PETUSER, PASTA FROM PetPers';
  FResult := FMysql.query(q, true, ex);
  if assigned(FResult) then
  begin
    ShowMessage('Query: OK - Ergebnis gespeichert');
  // DataSource2.DataSet := FResult(rtStored);

  end
  else
    if ex then
      ShowMessage('Query: OK - ausgeführt')
    else
      ShowMessage('Query fehlgeschlagen: '+FMysql.LastError);
end;
Delphi-Quellcode:
.............................
 // Stringgrid2 füllen mit Daten..
procedure TForm1.BitBtn3Click(Sender: TObject);
var
    i, j: integer;
    af: TMysql_FieldDef;
    cr: integer;
begin
if assigned(FResult) then begin
    if FResult.ResultType=rtStored then begin
      cr := FResult.RecNo;
      StringGrid2.RowCount := FResult.RowsCount+1;
      StringGrid2.ColCount := FResult.FieldsCount+1;
      for i:=0 to FResult.FieldsCount-1 do begin
        af := FResult.FieldDef(i)^;
        StringGrid2.cells[i+1,0] := af.Name;
      end;
      FResult.First;
      for i:=0 to FResult.RowsCount-1 do begin
        if FResult.RecNo=cr then
          StringGrid2.Cells[0,i+1] := '*'
        else
          StringGrid2.Cells[0,i+1] := '';
        for j:=0 to FResult.FieldsCount-1 do
          StringGrid2.Cells[j+1,i+1] := FResult.FieldValue(j);
        FResult.Next;
      end;
      FResult.RecNo := cr;
    end
    else begin
      StringGrid2.RowCount := 2;
      StringGrid2.ColCount := FResult.FieldsCount+1;
      for i:=0 to FResult.FieldsCount-1 do begin
        af := FResult.FieldDef(i)^;
        StringGrid2.cells[i+1,0] := af.Name;
      end;
      for j:=0 to FResult.FieldsCount-1 do
        StringGrid2.Cells[j+1,1] := FResult.FieldValue(j);
    end;
  end;
end;

--------------
Connection-Teil


  FMysql.Host := 'globi';
    aa := Button10.Caption ;
 // FMysql.Host := lowerCase(aa);
 // Form1.Caption := lowerCase(aa);
  FMysql.port := 3306;
  FMysql.user :='root';
  FMysql.password := '080899';
  FMysql.UnixSocket := '';
  FMysql.Db := 'PetVet'; // Datenbank auf dem Server
  FMysql.UseNamedPipe := false;
  FMysql.UseSSL := false;
  FMysql.Compress := false;
  FMysql.TrySockets := false;

  if FMysql.Connect then

     begin
    Shape3.Brush.Color := clLime;
......
Miniaturansicht angehängter Grafiken
mysql-direct_140.jpg  
  Mit Zitat antworten Zitat