Форум: "Базы";
Текущий архив: 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;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c