Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];




Вниз

Как подключиться к базе MySQL? 


Canny   (2002-04-02 00:00) [0]

Надо стало законнектитьтя к базе MySQL, а с чего начать? какие компоненты использовать, подскажите, люди добрые



deleon   (2002-04-02 08:27) [1]

Отличные компоненты ZeosDBO:
http://www.zeoslib.org



Serg3757   (2002-04-02 10:56) [2]

www.microolap.com



Севостьянов Игорь   (2002-04-03 11:52) [3]

Я коннектился через ADO -> ODBC
Драйвера можно скачать здесь + API для них (авось и без ADO обойдешься напрямую через API)
http://www.mysql.com/downloads/index.html

Вот куски кода - думаю разберешься...


unit Login;

interface

uses ...


type
TfrmLogin = class(TForm)
...
const ODBCDriver = "\myodbc.dll" ;
RegSubKey = "\SOFTWARE\CompanyName\";
DSN = "SAMySQL";

var
frmLogin: TfrmLogin;

implementation

uses Data;

{$R *.DFM}

cut --------------
procedure TfrmLogin.btnOKClick(Sender: TObject);
const ConnStr = "Provider=MSDASQL.1;"+
"Persist Security Info=False;"+
"Extended Properties="DSN=%s;DB=%s;SERVER=%s;UID=%s;PWD=%s;"+
"PORT=3306;"+
"OPTION=0;"+
"STMT=;"";
begin
While CountConnect < 3 do begin

try
Screen.Cursor:=crSQLWait;
StatusBar.SimpleText:="Регистрация в системе...";
Inc(CountConnect);

With dmData.ADOConnection do
begin
ConnectionString :=Format(ConnStr, [DSN, DataBase, Server, User, Password]);
Connected := True ;
end;
CountConnect:=3;
StatusBar.SimpleText:="";
except on E: Exception do
if CountConnect >= 3 then
begin
Screen.Cursor:=crDefault;
MessageDlg("Соединиться с базой не удалось: обратитесь к администратору.",mtError,[mbOk],0);
ModalResult:=mrCancel;
Exit;
end else begin
Screen.Cursor:=crDefault;
StatusBar.SimpleText:="";
MessageDlg(E.Message,mtError,[mbOk],0);
Password := "";
edtName.SetFocus;
Exit;
end;
end; // end of except
end; //while
ModalResult:=mrOk;

if chkbxSaveParams.Checked then
With RegRW do
begin
TypeObject := toString;
SetRegistryValue(HKEY_LOCAL_MACHINE,RegSubKey+Application.Title,"UserName",User);
SetRegistryValue(HKEY_LOCAL_MACHINE,RegSubKey+Application.Title,"Database",Database);
SetRegistryValue(HKEY_LOCAL_MACHINE,RegSubKey+Application.Title,"Server",Server);
end;
end;

procedure TfrmLogin.FormCreate(Sender: TObject);
var Srv : String;
begin

With RegRW do
begin
TypeObject := toString;

User := GetRegistryValue(HKEY_LOCAL_MACHINE,RegSubKey+Application.Title,"UserName");
Database := GetRegistryValue(HKEY_LOCAL_MACHINE,RegSubKey+Application.Title,"Database");
Server := GetRegistryValue(HKEY_LOCAL_MACHINE,RegSubKey+Application.Title,"Server");

if Server = "" then
begin
if not InputQuery("Сервер СУБД MySQL","Введите имя или IP адрес хоста MySQL-сервера", Srv) then
begin
Application.Terminate ;
Exit ;
end
else Server := Srv ;
end;

SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources",DSN , "MySQL");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Database","");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Description","");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Driver",dmData.SysInfo.WinSysPath+ODBCDriver);
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Option","0");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Password","");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Port","3306");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Server",Server);
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"Stmt","");
SetRegistryValue(HKEY_LOCAL_MACHINE,"\SOFTWARE\ODBC\ODBC.INI\"+DSN,"User","");
end;
end;




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.021 c
3-69731           Kirill                2002-03-28 17:15  2002.04.22  
Помогите сформировать запрос


14-70028          Новичок007            2002-03-18 17:18  2002.04.22  
Помагите пож. очень важно...


1-69892           hooky-mars            2002-04-06 19:28  2002.04.22  
TShockwaveFlash


3-69680           Incha                 2002-03-14 16:43  2002.04.22  
3-х звенное приложение клиент-сервер


7-70045           Sewix                 2002-01-27 17:39  2002.04.22  
открыть с помощью