Strona 1 z 2
Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 00:28
przez sebaskow
Witam.
Próbuję połączyć się z bazą danych
MySQL poprzez komponent
TSQLConnection niestety coś chyba robię nie tak.
Ponieważ jest to baza na próbę tylko w celach szkoleniowych
podaję dane do servera:
Server: -
mysql3.ph-hos.osemka.plNazwa bazy danych: -
1229967_mydatabaseUżytkownik: -
1367143719_fHasło: -
bastion1Proszę o pomoc.
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 08:46
przez rafalskraba
Witaj,
połączyłem się z Twoją bazą danych poprzez komponenty Davart TUniConnection oraz MySQLUniProvider. Natomiast nie połączyłem się przy pomocy TSQLConnection ponieważ nie mam zainstalowanych bibliotek do baz danych SQL.
Pozdrawiam
Rafał
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 10:21
przez Corvis
- Kod: Zaznacz cały
object SQLConnection1: TSQLConnection
ConnectionName = 'MySQLConnection'
DriverName = 'MySQL'
GetDriverFunc = 'getSQLDriverMYSQL'
LibraryName = 'dbxmys.dll'
LoginPrompt = False
Params.Strings = (
'DriverName=MySQL'
'HostName=mysql3.ph-hos.osemka.pl'
'Database=1229967_mydatabase'
'User_Name=1367143719_f'
'Password=bastion1'
'ServerCharSet='
'BlobSize=-1'
'ErrorResourceFile='
'LocaleCode=0000'
'Compressed=False'
'Encrypted=False'
'ConnectTimeout=60')
VendorLib = 'LIBMYSQL.dll'
Left = 312
Top = 152
end
Skopjuj ten kod od oboject do end ctrl + c i u siebie na formie zrób ctrl + v
u mnie działa
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 13:28
przez sebaskow
Wkleiłem tak jak zaproponowałeś leczy chyba nie mam jakiś sterowników.
Nie wiem za bardzo skąd mogę pobrać takie sterowniki. I pytanie podstawowe czy użytkownik również będzie wymagał takich sterowników ?
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 13:40
przez Corvis
sql.png
Ja mam taką listę. Wybierasz MySQL i wypełniasz Params i wszystko działa
Użytkownik będzie musiał mieć biblioteki *.dll:
libmySQL.dll
dbxmys.dll
midas.dll
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 13:55
przez sebaskow
Nie mam tej ostatniej biblioteki.
Oczywiście wybrałem MySQL z listy Driver.
Mógłbyś mi załączyć te 3 biblioteki ? Oczywiście wklejam je do System32 lub do folderu gdzie znajduje się .exe ?
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 14:07
przez Corvis
midas.dll jest ci potrzebny jak używasz TClientDataSet
Re: Połączenie z baza MySQL
Napisane:
wtorek, 7 maja 2013, 16:21
przez sebaskow
Super. Działa
Miałem złą bibliotekę.
Dziękuję - teraz dalsza droga przez mękę.
Re: Połączenie z baza MySQL
Napisane:
środa, 8 maja 2013, 08:06
przez sebaskow
No i zaczęły się problemy. Nie mogę wysłać zapytania bo wyskakuje kolejny błąd.
Nieprawidłowa nazwa tabeli
SQLConnection1->Connected = true;
SQLQuery1->SQLConnection = SQLConnection1;
SQLQuery1->SQL->Add("SELECT * FROM 1229967_mydatabase.MarkiAut");
SQLQuery1->ExecSQL(true);
SQLQuery1->Open();
Caption = SQLQuery1->RecordCount;
Nie wiem co źle robię ?
Komunikat2.jpg
Re: Połączenie z baza MySQL
Napisane:
niedziela, 12 maja 2013, 06:38
przez sebaskow
Proszę o pomoc bo już mi nic do głowy nie przychodzi.
Stworzyłem taki kod:
SQLConnection1->Connected = true;
SQLConnection1->Open();
SQLDataSet1->SQLConnection = SQLConnection1;
SQLDataSet1->CommandText = "SELECT * FROM 1229967_mydatabase.MarkiAut";
SQLDataSet1->Open();
Edit1->Text = SQLDataSet1->FieldByName("Marka")->AsString;
SQLDataSet1->Close();
I program się zawiesza podczas wykonywania
Może macie jakiś pomysł co jest nie tak ?
Re: Połączenie z baza MySQL
Napisane:
czwartek, 20 czerwca 2013, 15:33
przez Corvis
- Kod: Zaznacz cały
SQLQuery1->ExecSQL(true);
Stosuje się tylko do zapytań nie zwracających kursora. Select zwraca więc to jest błąd.
To odnośnie 1 postu
Odnośnie 2.
Straszny burdel w tym kodzie
Mam nadzieję, że to tylko kod testowy. Czy tabela 1229967_mydatabase.MarkiAut ma dużo danych ?
Re: Połączenie z baza MySQL
Napisane:
piątek, 21 czerwca 2013, 02:16
przez sebaskow
Nie. to jest bardzo mała tabela - stworzona na próbę.
Re: Połączenie z baza MySQL
Napisane:
piątek, 21 czerwca 2013, 13:55
przez Corvis
Co to znaczy zawiesza się ??
Masz jakieś komunikaty ?
Re: Połączenie z baza MySQL
Napisane:
piątek, 21 czerwca 2013, 16:14
przez Cyfrowy Baron
Podaj więcej informacji, gdyż z tego kodu niemal nic nie da się wywnioskować. Skoro to baza testowa, to może ją udostępnij do testów jak i sam program.
Re: Połączenie z baza MySQL
Napisane:
czwartek, 27 czerwca 2013, 02:07
przez sebaskow
W załączniku kod:
Ponieważ .dfm jest zablokowane:
- Kod: Zaznacz cały
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 245
ClientWidth = 472
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 8
Top = 8
Width = 137
Height = 25
Caption = 'Po'#322#261'cz Wykonaj SQL'
TabOrder = 0
OnClick = Button1Click
end
object Edit1: TEdit
Left = 8
Top = 208
Width = 201
Height = 21
TabOrder = 1
Text = 'Edit1'
end
object SQLConnection1: TSQLConnection
ConnectionName = 'MySQLConnection'
DriverName = 'MySQL'
GetDriverFunc = 'getSQLDriverMYSQL'
LibraryName = 'dbxmys.dll'
LoginPrompt = False
Params.Strings = (
'DriverName=MySQL'
'HostName=mysql3.ph-hos.osemka.pl'
'Database=1229967_mydatabase'
'User_Name=1367143719_f'
'Password=bastion1'
'ServerCharSet='
'BlobSize=-1'
'ErrorResourceFile='
'LocaleCode=0000'
'Compressed=False'
'Encrypted=False'
'ConnectTimeout=60')
VendorLib = 'LIBMYSQL.dll'
Connected = True
Left = 16
Top = 48
end
object SQLDataSet1: TSQLDataSet
DbxCommandType = 'Dbx.SQL'
Params = <>
Left = 16
Top = 96
end
end