Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2013, 07:55   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию TSQLConnections настройка подключения через код

Здравствуйте.
Пытаюсь настроить подключение к MySQL через код пробовал так
Код:
procedure TMainF.FormShow(Sender: TObject);
var
begin 
   DataModule2.SQLConnection1.Connected:=False;
   DataModule2.SQLConnection1.DriverName:='MySQL';
   DataModule2.SQLConnection1.ConnectionName:='MySQLConnection';
   DataModule2.SQLConnection1.Params.Values['HostName']:='localhost';
   DataModule2.SQLConnection1.Params.Values['Database']:='Vahta';
   DataModule2.SQLConnection1.Params.Values['Password']:='root';
   DataModule2.SQLConnection1.Params.Values['User']:='root';
Вылетает ошибка обращения к несуществующему адресу памяти.
После этого перенастроил соединение в ручную, компонент соединяется но при попытке выполнить оператор Select к примеру через TSimpeDataSet появляется та же ошибка обращения к несуществующему адресу.
Использую Delphi XE 2
Lokos вне форума Ответить с цитированием
Старый 13.05.2013, 08:26   #2
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

если поместить код в обработчик нажатия кнопки например а не в FormShow то код перестает выдавать ошибку обращения к несуществующему адресу. Выходит что моя форма появляется раньше чем создается DataModule. Но тогда почему пару недель назад все работало а именно сегодня перестало?
Lokos вне форума Ответить с цитированием
Старый 13.05.2013, 08:31   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Project->View Source и
Application.CreateForm(TDataModule2 , DataModule2);
поставить перед созданием формы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.05.2013, 08:36   #4
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Project->View Source и
Application.CreateForm(TDataModule2 , DataModule2);
поставить перед созданием формы
спс ошибка исчезла. А как так получилось что среда сменила последовательность создания модулей?
Lokos вне форума Ответить с цитированием
Старый 13.05.2013, 08:39   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
А как так получилось что среда сменила последовательность создания модулей?
Может старик Хоттабыч
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.05.2013, 08:43   #6
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Может старик Хоттабыч
ну на праздники в офис приходил хулиганил

теперь ругается на само соединение.

при попытке выполнения операторов SQL выпадает сообщение

Missing DriveName property

Изменил код вот так
Код:
         SQLC.Connected:=False;
         SQLC.LoginPrompt:=False;
         SQLC.Connected:=False;
         SQLC.ConnectionName:='MySQLConnection';
         SQLC.DriverName:='MySQL';
         SQLC.LibraryName:='dbxmys.dll';
         SQLC.Params.Values['DriverName=MySQL'];
         SQLC.Params.Values['HostName=localhost'];
         SQLC.Params.Values['DataBase=Vahta'];
         SQLC.Params.Values['Password=root'];
         SQLC.Params.Values['User=root'];
         SQLC.Params.Values['VendorLib=LIBMYSQL.dll'];
         SQLC.Connected:=True;
Изменилась ошибка Unknown MySQL server host 'SererName' (11001)

Последний раз редактировалось Stilet; 15.05.2013 в 09:49.
Lokos вне форума Ответить с цитированием
Старый 16.05.2013, 03:50   #7
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Полностью рабочее соединение

Код:
SQLC.Connected:=False;
   SQLC.LoginPrompt:=False;
   SQLC.Connected:=False;
   SQLC.GetDriverFunc:='getSQLDriverMYSQL';
   SQLC.ConnectionName:='MySQLConnection';
   SQLC.DriverName:='MySQL';
   SQLC.LibraryName:='dbxmys.dll';
   SQLC.Params.Values['DriverName']:='MySQL';
   SQLC.Params.Values['Password']:='root';
   SQLC.Params.Values['User_Name']:='root';
   SQLC.Params.Values['Database']:='Vahta';
   SQLC.Params.Values['ServerCharSet']:='cp1251';
   SQLC.Params.Values['HostName']:='localhost';
   SQLC.Params.Values['VendorLib']:='LIBMYSQL.dll';
   SQLC.Connected:=True;
Lokos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка подключения сервера к клиенту через сокеты vaan.sk C/C++ Сетевое программирование 3 06.08.2013 12:02
Создание подключения через INDY [Delphi7] -Jack- Работа с сетью в Delphi 7 22.07.2012 10:19
Код для подключения своей DLL в references. penb Microsoft Office Excel 3 27.03.2012 21:40
Настройка VPN подключения Altera Операционные системы общие вопросы 3 07.02.2008 11:39
Открыть порт для подключения через proxy Progs Работа с сетью в Delphi 18 05.07.2007 11:13