Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1147350528
wezz
2006-05-11 16:28
2006.06.04
Как измерить реальную скорость интернет-канала?


2-1147791349
AlexanderMS
2006-05-16 18:55
2006.06.04
Ошибка при чтении string из файла


2-1147426161
eclipse
2006-05-12 13:29
2006.06.04
Множество таблиц... их связь с одной.... или другие варианты


15-1147191434
alex-drob
2006-05-09 20:17
2006.06.04
Прокси с помощью IdMappedPortTCP1


6-1137435217
guitarist
2006-01-16 21:13
2006.06.04
Hyperterminal





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский