AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mysql und D2009 - connection funktioniert nicht

Mysql und D2009 - connection funktioniert nicht

Ein Thema von emsländer · begonnen am 4. Jan 2009 · letzter Beitrag vom 4. Jan 2009
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#21

Re: Mysql und D2009 - connection funktioniert nicht

  Alt 4. Jan 2009, 18:32
Zitat von mkinzler:
Integer hat ja eigentlich nichts mit Unicode zu tun
Zeig mal den Code zum kompletten Vorgang
inhalt von sstring bei Übergabe: 'select lfdnr, Anlagedatum, vermittler, mitarbeiter, Dossier, Name, Vorname, Bank, Darlehensnummer, PLZ_Objekt, ORT_Objekt, PLZ, Ort, fremdmittelinclkosten, endpreis FROM akten WHERE Akte_abgelegt="N" and geloescht ="N" and neuer_Antrag =0 order by lfdnr desc'

Delphi-Quellcode:
function TAktenManager.fillgrid(sstring : string; neu : boolean) : boolean;
  var
    _myRes: PMySQL_Res; //hier wird der gesamte Ergebnissatz gespeichert
    _myRow: PMySQL_Row; //enthält den aktuellen Datensatz
    reccount,i : integer;
    _fremdmittel, _endpreis : integer;
    _string : rawbytestring;
begin
  _fremdmittel := 0;
  _endpreis := 0;
  v_last_query := sstring;
  edt_sql_suchkommando.Text := sstring;
  result := true;
  AntiFreeze.Active := true;
  ausgabeliste.Visible := false;
// such_alarm.visible := true;
  such_bar.Visible := true;
  _string := utf8encode(sstring);
  try
    db_label.caption := 'Datenbankzugriff';
    db_label.Repaint;
    mysql_query(v_fddcon, pchar(_string));
    db_label.caption := 'Datenauswertung';
    db_label.Repaint;
    _myRes := mysql_store_result(v_fddcon);
    db_label.caption := 'Daten einlesen';
    db_label.Repaint;
    ausgabeliste.ClearRows;
    if _myRes <> nil then begin
      reccount := mysql_num_rows(_myRes);
      if reccount <> 0 then begin
        such_bar.Max := reccount;
        such_bar.Refresh;
        showbutton(inttostr(reccount)+' Treffer');
        for i := 0 to RecCount -1 do begin
          such_bar.StepIt;
          such_bar.Refresh;
          _myRow := mysql_fetch_row(_MyRes);
          ausgabeliste.addrow();
          ausgabeliste.cells[0,i] := _MyRow[0]; //Datensatz-ID
          ausgabeliste.cell[1,i].AsString := _MyRow[1]; // Anlagedatum
          ausgabeliste.cells[2,i] := _myrow[2]; // Vermittler
          ausgabeliste.cells[3,i] := get_vermittler(_myrow[2]); // Vermittler
          ausgabeliste.cells[4,i] := _myrow[3]; // Mitarbeiter
          ausgabeliste.cells[5,i] := _myrow[4]; // Dossier
          ausgabeliste.cells[6,i] := _myrow[5]; // Name
          ausgabeliste.cells[7,i] := _myrow[6]; // Vorname
          ausgabeliste.cells[8,i] := _myrow[7]; // Bank
          ausgabeliste.cells[9,i] := _myrow[8]; // Darlehensnummer
          ausgabeliste.cells[10,i] := _myrow[9]; // PLZ_Objekt
          ausgabeliste.cells[11,i] := _myrow[10]; // ORT_Objekt
          ausgabeliste.cells[12,i] := _myrow[11]; // PLZ
          ausgabeliste.cells[13,i] := _myrow[12]; // Ort
          ausgabeliste.cells[14,i] := _myrow[13]; // fremdmittelinclkosten
          ausgabeliste.cells[15,i] := _myrow[14]; // endpreis
          _fremdmittel := _fremdmittel + strtoint(_myrow[13]);
          _endpreis := _endpreis + strtoint(_myrow[14]);
        end;
      end else such_meldung.caption := 'Keine Datensätze gefunden!';
      mysql_free_result(_myRes); //Ergebniss
    end else such_meldung.caption := 'Fehler beim Datenzugriff! SQL-Fehlermeldung: ' + mysql_error(v_fddcon);
  except
  end;
  edt_fremdmittel.Value := _fremdmittel;
  edt_endsumme.Value := _endpreis;
  such_bar.Visible := false;
  AntiFreeze.Active := false;
  ausgabeliste.Visible := true;
  db_label.caption := 'Datenbank online';
  db_label.Repaint;
end;
Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Mysql und D2009 - connection funktioniert nicht

  Alt 4. Jan 2009, 18:46
Die Felder werden auch UTF8 sein.
Versuch es mal mit Utf8decode()
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#23

Re: Mysql und D2009 - connection funktioniert nicht

  Alt 4. Jan 2009, 18:52
Zitat von mkinzler:
Die Felder werden auch UTF8 sein.
Versuch es mal mit Utf8decode()
leider nope auf dem Trip war ich auch schon vergebens


Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#24

Re: Mysql und D2009 - connection funktioniert nicht

  Alt 4. Jan 2009, 19:08
Die Ergebnisse sollen Pchar (also Zeiger) sein. Wie komm ich denn da dran, wenn nicht so wie bisher?

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: Mysql und D2009 - connection funktioniert nicht

  Alt 4. Jan 2009, 19:12
Unter Delphi bis einschließlich 2007 waren PChars gleichbedeutend mit PAnsiChars. Seit Delphi 2009 sind das aber PWideChars (äquivalent gilt das auch für Chars und Strings). Wenn Du also Units verwendest, die unter einem Delphi < 2009 geschrieben wurden, musst Du PChar durch PAnsiChar usw. ersetzen, dann hast Du evtl. eine Chance, das alte Verhalten wiederherzustellen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#26

Re: Mysql und D2009 - connection funktioniert nicht

  Alt 4. Jan 2009, 20:36
Zitat von DeddyH:
Unter Delphi bis einschließlich 2007 waren PChars gleichbedeutend mit PAnsiChars. Seit Delphi 2009 sind das aber PWideChars (äquivalent gilt das auch für Chars und Strings). Wenn Du also Units verwendest, die unter einem Delphi < 2009 geschrieben wurden, musst Du PChar durch PAnsiChar usw. ersetzen, dann hast Du evtl. eine Chance, das alte Verhalten wiederherzustellen.
Genau das habe ich getan und anbei das Ergebnis zum Einpflegen in die Codelib


Somit funktioniert alles wieder (mit ein paar Änderungen)

Falls da noch Fehler auftauchen, bitte Bescheid geben.

Gruss

EL
Angehängte Dateien
Dateityp: rar mysql_417.rar (6,8 KB, 5x aufgerufen)


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:58 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