Поиск:

Ответ в темуСоздание новой темы Создание опроса
> libmySQL.dll - рабочая библиотека MySQL5, Подтверждается несколькими участниками 
:(
    Опции темы
eldar22
Дата 31.5.2009, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 22.9.2008

Репутация: нет
Всего: 1



Здравствуйте
Вопрос в тему 
Я скачал libmysql.dll НО вот такая ошибка

[Error] Unit1.pas(47): Undeclared identifier: 'CRLF'

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,mysql, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var MySQL: PMYSQL;
   MyHost: string;
   MyPort: integer;
   MyUser: string;
   MyPass: string;
     MyDB: string;
   MyTime: longword;
   MyComp: integer;
        k: integer;
       F4: TextFile;
      buf: string[128];
     label u240;
 procedure Fail(Msg: string = '');
   begin
    // mysql_errno, mysql_error
     if(Msg='')then Msg:=Format('%d - %s',[mysql_errno(MySQL),mysql_error(MySQL)]);
     raise Exception.Create(CRLF+CRLF+'Fatal Error'+CRLF+'==========='+CRLF+Msg);
   end;
 procedure Versions;
   begin
     Memo1.Lines.Add(CRLF);
     Memo1.Lines.Add('Versions');
     Memo1.Lines.Add('========');
    // mysql_get_server_info
     Memo1.Lines.Add('Server: '+mysql_get_server_info(MySQL));
    // mysql_get_client_info
     Memo1.Lines.Add('Client: '+mysql_get_client_info);
    // mysql_get_proto_info
     Memo1.Lines.Add('Protocol: '+intToStr(mysql_get_proto_info(MySQL)));
   end;
 procedure Statistics;
  var Stats: string;
          P: integer;
   begin
     Memo1.Lines.Add(CRLF);
     Memo1.Lines.Add('Statistics');
     Memo1.Lines.Add('==========');
    // mysql_stat
     Stats:=mysql_stat(MySQL);
     P:=pos('  ',Stats);
    while P>0 do begin
      Memo1.Lines.Add(copy(Stats,1,P-1));
      Stats:=copy(Stats,P+2,MaxInt);
      P:=pos('  ',Stats);
    end;
     Memo1.Lines.Add(Stats);
   end;
begin
  SetForegroundWindow(Handle);
  Screen.Cursor:=crHourGlass;
  label1.Caption:='Подождите, выполняется попытка подключения к серверу MySQL';

  application.ProcessMessages;
 for k:=0 to progressbar1.Max do
  begin
    progressbar1.Position:=k;
    sleep(10);
  end;
u240:
   AssignFile(F4,'myset.ini');
  {$I-}
   Reset(F4); // открытие на чтение
  {$I+}
 if(IOResult<>0)then
  begin
    Button1.OnClick(nil); // здесь у меня при исключении создаётся необходимый файл с данными
    goto u240;
   end;
 try
   readln(F4,buf);   // domain
   readln(F4,buf);   // servname
   MyHost:=buf;
   readln(F4,buf);   // port
   MyPort:=StrToInt(buf);
   readln(F4,buf);   // login
   MyUser:=buf;
   readln(F4,buf);   // pass
   MyPass:=buf;
   readln(F4,buf);   // db
   MyDB:=buf;
   readln(F4,buf);   // db_pass
//   Result:=1;
 except
//   Result:=0;
 end;
   Closefile(F4);
  MyTime:=30;      // strToIntDef(EditTime.Text, 30); - оригиналбное значение
  MyComp:=120;  // integer(CheckComp.Checked) * CLIENT_COMPRESS; - оригиналбное значение
  // но так как я предпологаю использовать это всё в локалке - то таких значений достаточно
  // хотя всё это тоже можно вводить ручками при попытке подключения (см. примеры)
 try // попробовать произвести открытие соединения с серваком и записать отчёт в фал
    try // инициируем соединение
      MySQL:=mysql_init(nil);
     // если отсутствует - выводим сообщуху в лог
     if(MySQL=nil)then Fail('Couldn''t init PMYSQL object');
     // попробовать обойтись без установки таймаута? тогда при отключеном серваке возможно придёца снимать задачу аварийно...
     if(mysql_options(MySQL,MYSQL_OPT_CONNECT_TIMEOUT,@MyTime)<>0)then Fail;
     // пробуем соединиться с серваком с параметрами учётки, если не выходит - сообщуха в лог
     if(mysql_real_connect(MySQL,pChar(MyHost),pChar(MyUser),pChar(MyPass),nil,MyPort,nil,MyComp)=nil)then Fail;
     // выводим в лог инфу о серваке
      Memo1.Lines.Add('Connected to MySQL server at '+mysql_get_host_info(MySQL));
     // запрашиваем версии клиента и сервака и помещаем эту инфу в лог
      Versions;
     // запрашиваем некоторую статистику о серваке и так же выводим её в лог
      Statistics;
     // отсюда пытаемся выбрать БД
     if(mysql_select_db(MySQL,pChar(MyDB))<>0)then Fail else Memo1.Lines.Add('Connected to '+MyDB+' has successful.');
     // здесь пытаемся в выбраной БД создать таблицу
//   if(mysql_query(MySQL,pChar('CREATE TABLE PROVERKA (id SMALLINT (3) ZEROFILL NOT NULL AUTO_INCREMENT, string CHAR (16) NOT NULL, value TINYINT UNSIGNED DEFAULT 1 NULL, PRIMARY KEY (id), INDEX (string))'))<>0)then Fail;
     finally // если всё прошло гладко - закрываем соединение с серваком
      mysql_close(MySQL);
     end;
   // сохраняем накопившуюся инфу в файл
    Memo1.Lines.SaveToFile('mysql.log');
    label1.Caption:='Серверу MySQL доступен и готов к работе.';
    button1.Enabled:=true;
  except // при неудаче - записать ошибку в лог
    Memo1.Lines.Add(Exception(ExceptObject).Message);
    label1.Caption:='Серверу MySQL недоступен.';
    button1.Enabled:=false;
  end;
  Screen.Cursor:=crDefault;
  application.ProcessMessages;
  sleep(2000);
   // подобие окна с сообщениями: НАД всеми компонентами формы ложу панель, крываю её
                                      // но при необходимости вывести сообщение - делаю видимой, заменив текст label'а, лежащего на панели
                                      // т.к. сама панель не имеет свойства WordWrap и вывести надпись в несколько строк можно лишь перерисовывая канву.
end;
end.






PM MAIL WWW   Вверх
Akella
Дата 31.5.2009, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



eldar22, тебе же компилятор ясно написал, что НЕ ЗНАЕТ он про CRLF. Вот к чему привод сдирание примеров. А если бы сам написал smile

Добавлено через 46 секунд
Вместо CRLF напиши #13
PM MAIL   Вверх
Romikgy
Дата 9.6.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



а мне понравился этот компанентик для работы с мусклем
http://sourceforge.net/project/downloading...se_mirror=sunet
тем что не требует длл никаких ))

PS имхо 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
nucleus666
Дата 29.1.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.8.2009
Где: Москва

Репутация: нет
Всего: нет



а как с RAD studio 2010 ? 
залил в папку с прогой libmysql.dll - delphi 7 видит и пашет

залил в папку с прогой, system32, в bin от Рад студио  libmysql.dll - везде не может её найти
PM MAIL WWW ICQ   Вверх
Akella
Дата 29.1.2010, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Может не та версия?

Добавлено через 2 минуты и 14 секунд
Что значит не видит? Неужели нельзя более подробно описать проблему?
PM MAIL   Вверх
nucleus666
Дата 29.1.2010, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.8.2009
Где: Москва

Репутация: нет
Всего: нет



cannot load libmysql library - если не та версия, то почему delphi 7 работает с ней?) подключился и отобразил табличку которую попросили)
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 29.1.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



Цитата(nucleus666 @  29.1.2010,  12:47 Найти цитируемый пост)
cannot load libmysql library

в папку с ехе кинь либу,
и учти что рад юникодный


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Akella
Дата 29.1.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(nucleus666 @  29.1.2010,  13:47 Найти цитируемый пост)
cannot load libmysql library 

а если перевести ;), то "не могу загрузить библиотеку"
PM MAIL   Вверх
nucleus666
Дата 29.1.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.8.2009
Где: Москва

Репутация: нет
Всего: нет



Romikgy,в  папку с прогой я закинул - не помогает, а делфи 7 работает норм так

ну кодировка в mysql стоит ср1251


Akella, вот именно, он не знает где он, не может загрузить


поставил на другой ноут Rad 09 .....законектилось через SQLConnection1......но SimpleDataSet1 таблицы не отображает, не соединяется (в делфи 7 он сразу в свойствах показал таблицу из мускула, после запроса select * from бла бла бла отображает в DBgrid) ругался на библиотеку dbxmys.dll - заменил,взяв из рад 2010.....перестал соединяться   SQLConnection


PM MAIL WWW ICQ   Вверх
Akella
Дата 29.1.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(nucleus666 @  29.1.2010,  14:52 Найти цитируемый пост)
Akella, вот именно, он не знает где он, не может загрузить

а мне кажется, что знает, но не может загрузить

Добавлено через 1 минуту и 4 секунды
А если взять  и выполнить поиск библиотеки полностью на всё компьютере. Все найденные экземпляры удалить. Какую ошибку выдаст?
PM MAIL   Вверх
nucleus666
Дата 29.1.2010, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.8.2009
Где: Москва

Репутация: нет
Всего: нет



Akella, ну а если ты прав, то как решить проблему можно?)
PM MAIL WWW ICQ   Вверх
Akella
Дата 29.1.2010, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(nucleus666 @  29.1.2010,  14:52 Найти цитируемый пост)
ну кодировка в mysql стоит ср1251

при чём здесь кодировка mssql?

Добавлено через 30 секунд
Цитата(nucleus666 @  29.1.2010,  15:56 Найти цитируемый пост)
Akella, ну а если ты прав, то как решить проблему можно?) 

не знаю, я не телепат
PM MAIL   Вверх
nucleus666
Дата 29.1.2010, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.8.2009
Где: Москва

Репутация: нет
Всего: нет



ну а какие могут быть варианты?)
п.с. старшие версии libmysql подходят вместо предыдущих?
PM MAIL WWW ICQ   Вверх
nucleus666
Дата 3.2.2010, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 2.8.2009
Где: Москва

Репутация: нет
Всего: нет



veniomin, качаешь мускл с офф сайта, там будет в комплекте где-то эта библиотека, залил её копии в папку с проектом сохраненным,систем32, бин делфы.....ну и прописал зампуск делфы с правами админа + в КИСе добавил в доверенные, отрубил защитник виндовс - пашет нормально 
PM MAIL WWW ICQ   Вверх
fidres
Дата 20.3.2010, 06:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 15.11.2006

Репутация: 1
Всего: 1



 smile 
новая игрушка появилась у людей, гляжу.
rad2010...

на всякий случай, чтоб исключить недопонимание переменной среды 'PATH' и подобных
Код
cls
@echo off
@echo ALLUSERSPROFILE       : %ALLUSERSPROFILE%>all.dat
@echo CommonProgramFiles    : %CommonProgramFiles%>>all.dat
@echo COMPUTERNAME          : %COMPUTERNAME%>>all.dat
@echo ComSpec               : %ComSpec%>>all.dat
@echo FP_NO_HOST_CHECK      : %FP_NO_HOST_CHECK%>>all.dat
@echo NUMBER_OF_PROCESSORS  : %NUMBER_OF_PROCESSORS%>>all.dat
@echo OS                    : %OS%>>all.dat
@echo Path                  : %Path%>>all.dat
@echo PATHEXT               : %PATHEXT%>>all.dat
@echo PROCESSOR_ARCHITECTURE: %PROCESSOR_ARCHITECTURE%>>all.dat
@echo PROCESSOR_IDENTIFIER  : %PROCESSOR_IDENTIFIER%>>all.dat
@echo PROCESSOR_LEVEL       : %PROCESSOR_LEVEL%>>all.dat
@echo PROCESSOR_REVISION    : %PROCESSOR_REVISION%>>all.dat
@echo ProgramFiles          : %ProgramFiles%>>all.dat
@echo SystemDrive           : %SystemDrive%>>all.dat
@echo SystemRoot            : %SystemRoot%>>all.dat
@echo TEMP                  : %TEMP%>>all.dat
@echo TMP                   : %TMP%>>all.dat
@echo USERDOMAIN            : %USERDOMAIN%>>all.dat
@echo USERNAME              : %USERNAME%>>all.dat
@echo USERPROFILE           : %USERPROFILE%>>all.dat
@echo windir                : %windir%>>all.dat
@echo APPDATA               : %APPDATA%>>all.dat
@echo HOMEDRIVE             : %HOMEDRIVE%>>all.dat
@echo HOMEPATH              : %HOMEPATH%>>all.dat
@echo LOGONSERVER           : %LOGONSERVER%>>all.dat
@echo PROMPT                : %PROMPT%>>all.dat
@echo SESSIONNAME           : %SESSIONNAME%>>all.dat
всяко в жизни бывает... вдруг там нет %WinDir%\System32... или дэлфа перехватывает управление и не даёт определиться с системными путями...
(я обычно складывал все нужные файло в папку проекта)
 smile 

кстати, ставил 'колёса2009'... безумное количество новшеств, которое, честно признаюсь, пугает!
пришлось ставить на виртуальник старую-добрую семёрку (т.к. d2005 - тоже _уже не в контексте_ старого интерфейса) и на ней выкручиваться...
давненько не брал я в руки шашек (в смысле, не кодил)... уже подзабыл всё порядком.
а тут ещё и задача _не стандартная_ (во всяком случае для меня, привыкшего решать проблемы БЕЗ использования средств программирования от M$  smile ) - занимаюсь нынче изыманием/запихиванием данных из/в access-базы...
жуть!
 smile 

есть добрые люди?
подмогните!
дайте содержательный линк на описаловку работы с базами access от мелких?..
--------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист.
PM ICQ   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.2407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.