Hallo alle zusammen.
Habe ein Programm das auf einen
MySQL Datenbank auf einem HP Server zugreifen soll (Werte lesen und ändern).
Dank diesem Forum konnte ich nun einen Verbindung mit dem Server herstellen. (Nach einer Installation eines älteren Connectors (libmysql.dll +php_mysql)
Nun ist es aber leider so, dass ich teils Informationen aus der Datenbank abrufen kann doch bei den meisten kommt eine Fehlemeldung und bricht ab:
Auf TDBXTypes.ZSTRING-Wertetyp kann nicht als TDBXTypes.WideString-Wertetyp zugegriffen werden.
So sieht der Code aus der es verursacht:
Delphi-Quellcode:
var
FieldNamesList: TStringList;
SQLStmt:
String;
I: Integer;
begin
// Eine Tabelle ist jetzt ausgewählt, daher nun die entsprechenden Steuerelemente aktivieren.
CheckBoxActive.Enabled := True;
ButtonApply.Enabled := True;
TableName := ListBox1.Items[ListBox1.ItemIndex];
//Tabellennamen abrufen
// Feldnamen (Spaltennamen) für diese Tabelle abrufen.
FieldNamesList := TStringList.Create;
FieldNamesList.Clear;
SQLConnection1.GetFieldNames(TableName, FieldNamesList);
// Select-SQL-Anweisung für alle Felder erstellen.
if FieldNamesList.Count > 0
then
begin
SQLStmt := '
select ';
for I := 0
to FieldNamesList.Count - 1
do
begin
SQLStmt := SQLStmt + FieldNamesList[I] + '
,';
end;
SQLStmt[Length(SQLStmt)] := '
';
SQLStmt := SQLStmt + '
from '+TableName;
end
else
// Feldnamen nicht gefunden, daher '*' verwenden
SQLStmt := '
select * from '+TableName;
FreeAndNil(FieldNamesList);
// SQL-Anweisung zum Abrufen aller Tabellendaten erstellen.
EditSQL.Text := SQLStmt;
// CommandText auf SQL-Anweisung setzen.
SQLDataSet1.CommandText := EditSQL.Text;
if ClientDataSet1.Active
then
ClientDataSet1.Close;
ClientDataSet1.Open;
CheckBoxActive.Checked := True;
end;
Ich habe diesen Code von folgendem Toutorial. Da ich noch ein ziemmlicher Anfänger bin
http://docwiki.embarcadero.com/RADSt..._aktualisieren
Wer kann mir helfen?