Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Ошибка при работе с 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
2-1148015745
Loginov Dmitry
2006-05-19 09:15
2006.06.04
Image или не Image


15-1146925008
vrem
2006-05-06 18:16
2006.06.04
Размер шрифта - название веток, ответы - в DMClient


15-1146887520
Little)Lamer
2006-05-06 07:52
2006.06.04
C++


3-1144763633
Tom
2006-04-11 17:53
2006.06.04
как сравнить два DataSet


2-1147629622
Mashulia
2006-05-14 22:00
2006.06.04
Помогите девушке