Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизОшибка при работе с Mysql 5 Найти похожие ветки
← →
Квэнди © (2006-05-06 16:21) [0]Здравствуйте.
Проблема в следующем :
использую dbexpress, подключение к серверу проходит нормально, запрос выполняется, но любой попытке обратиться к полученным данным выдается ошибка.
Вот код:
q1.SQL.Add("select * from user");
q1.Active:=true;
showmessage(inttostr(q1.RecordCount));
Ошибка:
"dbexpress Error: [0x0003]: Invalid Field Type
Использую Delphi 2006.
← →
Ega23 © (2006-05-06 16:24) [1]А свойство SQL перед этим очистил? :о)
← →
Квэнди © (2006-05-06 16:38) [2]Ega23 © (06.05.06 16:24) [1]
обижаешь)
← →
Johnmen © (2006-05-06 16:42) [3]Что такое q1? Его параметры?
Какие DB Aware"ные компоненты навешаны, их настройка?
← →
Квэнди © (2006-05-06 16:45) [4]Johnmen © (06.05.06 16:42) [3]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBXpress, FMTBcd, StdCtrls, DB, SqlExpr;
type
TForm1 = class(TForm)
SQLConnection1: TSQLConnection;
q1: TSQLQuery;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
q1.SQL.Clear;
q1.SQL.Add("select * from user");
q1.Active:=true;
showmessage(inttostr(q1.RecordCount));
end;
end.object SQLConnection1: TSQLConnection
ConnectionName = "1"
DriverName = "Mysql"
GetDriverFunc = "getSQLDriverMYSQL"
LibraryName = "dbxmys30.dll"
LoginPrompt = False
Params.Strings = (
"DriverName=Mysql"
"HostName=10.1.1.121"
"Database=mysql"
"User_Name=root"
"Password="
"BlobSize=-1"
"ErrorResourceFile="
"LocaleCode=1251"
"Compressed=false"
"Encrypted=false"
"LoginPrompt=false")
VendorLib = "libmysql.dll"
Connected = True
Left = 112
Top = 16
end
object q1: TSQLQuery
MaxBlobSize = -1
Params = <>
SQLConnection = SQLConnection1
Left = 200
Top = 16
end
← →
Johnmen © (2006-05-06 16:52) [5]Понятно.
Дело в том, что TSQLQuery является "держателем" однонаправленного набора данных. А значит операции типа RecordCount к нему неприменимы!
← →
Квэнди © (2006-05-06 16:56) [6]
> Johnmen © (06.05.06 16:52) [5]
Да? всегда работало ,а с 5-м вдруг не работает....
Хорошо, тогда так:q1.SQL.Clear;
q1.SQL.Add("select * from user");
q1.Active:=true;
showmessage(q1.FieldByName("User").AsString);
Ошибка возникает та же
"dbexpress Error: [0x0003]: Invalid Field Type
← →
Ega23 © (2006-05-06 16:59) [7]
> Квэнди © (06.05.06 16:56) [6]
Перегони эти данные в какой-нибудь TClientDataSet и там уже смотри...
← →
Квэнди © (2006-05-06 17:25) [8]Ошибка та же =(
← →
Квэнди © (2006-05-06 17:27) [9]Может кто- нибудь попробует с помощью dbexpress в delphi 2006 пообщаться с mysql 5 и выложит исходный код и библиотеки, которые были использованы ?
← →
Johnmen © (2006-05-06 20:27) [10]>Квэнди ©
Возможно, user зарезервированное имя.
← →
Квэнди © (2006-05-06 23:49) [11]
> Johnmen © (06.05.06 20:27) [10]
В том то и дело, что аналогичная ошибка проявляется при любом обращении к любой базе данных на Mysql 5. Неужели никто не работал с MySQL 5 через dbexpress ?
← →
Johnmen © (2006-05-06 23:59) [12]
> Квэнди © (06.05.06 23:49) [11]
Лично я с 5 не работал.
← →
Квэнди © (2006-05-08 07:39) [13]Раз никто не может помочь, тогда подскажите каким образом лучше работать с MySQL 5 ?
← →
Квэнди © (2006-05-09 09:17) [14]Толи никто не работает с Mysql 5, толи проблема действительно есть. Посоветуйте пожалуйста каким образом корректно работать с Mysql 5 ?
← →
Квэнди © (2006-05-10 13:20) [15]да простят меня модераторы, подниму тему.
← →
Квэнди © (2006-05-11 08:58) [16]Неужели решения нет ?
← →
Delf © (2006-05-11 11:13) [17]
> В том то и дело, что аналогичная ошибка проявляется при
> любом обращении к любой базе данных на Mysql 5. Неужели
> никто не работал с MySQL 5 через dbexpress ?
Я через АДО работал то таких проблем небыло.
Может стоит перейти на ADO через ODBC ИМХО старая проверенная технология
ODBC драйвер на сайте MySql можно найти
← →
Квэнди © (2006-05-11 13:45) [18]
> Delf © (11.05.06 11:13) [17]
Сам задумался уже об этом, но все же не может быть чтобы dbexpress просто напросто не работала с mysql 5 ...
← →
Квэнди © (2006-05-12 15:02) [19]Попробую все- таки еще раз понадеятся на помощь проффесионалов...
← →
Johnmen © (2006-05-12 15:07) [20]
> Квэнди © (11.05.06 13:45) [18]
> Сам задумался уже об этом, но все же не может быть чтобы
> dbexpress просто напросто не работала с mysql 5 ...
Вполне м.б. Напр. версия экспресса более ранняя, чем MySQL5, т.е. ничего не знает о нововведениях, изменениях и т.п....
← →
Stupor © (2006-05-13 09:22) [21]Сам собираюсь начать переход на 5 версию, может ето поможет?
http://codingclub.net/index.php?go=Files&in=view&id=16
← →
Stupor © (2006-05-13 09:23) [22]Сам собираюсь начать переход на 5 версию, может ето поможет?
http://codingclub.net/index.php?go=Files&in=view&id=16
← →
Stupor © (2006-05-13 09:24) [23]Сам собираюсь начать переход на 5 версию, может ето поможет?
http://codingclub.net/index.php?go=Files&in=view&id=16
← →
Stupor © (2006-05-13 09:27) [24]Извините, что три раза, просто не разобрался форумом :)
← →
Квэнди © (2006-05-15 11:31) [25]
> Stupor © (13.05.06 09:27) [24]
Огромное спасибо. действительно заработало!
Если вдруг у вас есть лекарство от одного настойчивого окошка, немогли бы вы мне его выслать на почту ?)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.039 c