|
| DBExpress og MySQL Fra : Vinther |
Dato : 07-04-06 17:10 |
|
Hej.
Jeg har installeret MySQL 5,0 og forsøger at opnå kontakt til det fra Delphi
gennem DBExpress komponenten SQLConnection.
Jeg har kopieret libmysql.dll til mit programs bibliotek
Min SQLConnection har jeg givet følgende værdier
- Drivername: MySQL
- Hostname: 127.0.0.1
- Database: "navnet på min database"
- username: root
- password: "mit password"
connected er sat til true og jeg har derudover ikke umiddelbart nogle
problemer eller fejlbeskeder i forbindelse med SQLConnection
Så prøver jeg at indsætte en TSQLTable, og den popper op med et gult
spørgsmålstegn. Jeg kan bl.a. IKKE vælge noget overhovedet i tablename
propertien og den kan ikke finde nogen tabeller.
Der står jeg med håret i postkassen - hvor laver jeg ged i den?
| |
Harald (07-04-2006)
| Kommentar Fra : Harald |
Dato : 07-04-06 19:55 |
|
"Vinther" <2584431m003@FJERNstofanet.dk> skrev i en meddelelse
news:44368ed2$0$11671$ba624c82@nntp02.dk.telia.net...
> Hej.
>
> Jeg har installeret MySQL 5,0 og forsøger at opnå kontakt til det fra
> Delphi gennem DBExpress komponenten SQLConnection.
>
> Jeg har kopieret libmysql.dll til mit programs bibliotek
>
> Min SQLConnection har jeg givet følgende værdier
> - Drivername: MySQL
> - Hostname: 127.0.0.1
> - Database: "navnet på min database"
> - username: root
> - password: "mit password"
>
> connected er sat til true og jeg har derudover ikke umiddelbart nogle
> problemer eller fejlbeskeder i forbindelse med SQLConnection
>
> Så prøver jeg at indsætte en TSQLTable, og den popper op med et gult
> spørgsmålstegn. Jeg kan bl.a. IKKE vælge noget overhovedet i tablename
> propertien og den kan ikke finde nogen tabeller.
>
> Der står jeg med håret i postkassen - hvor laver jeg ged i den?
dbExpress som følger med Delphi understøtter kun MySQL op til version 4.0.26
/HK
| |
Vinther (07-04-2006)
| Kommentar Fra : Vinther |
Dato : 07-04-06 22:24 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:4436b58a$0$84037$edfadb0f@dtext01.news.tele.dk...
> "Vinther" <2584431m003@FJERNstofanet.dk> skrev i en meddelelse
> news:44368ed2$0$11671$ba624c82@nntp02.dk.telia.net...
>> Hej.
>>
>> Jeg har installeret MySQL 5,0 og forsøger at opnå kontakt til det fra
>> Delphi gennem DBExpress komponenten SQLConnection.
>>
>> Jeg har kopieret libmysql.dll til mit programs bibliotek
>>
>> Min SQLConnection har jeg givet følgende værdier
>> - Drivername: MySQL
>> - Hostname: 127.0.0.1
>> - Database: "navnet på min database"
>> - username: root
>> - password: "mit password"
>>
>> connected er sat til true og jeg har derudover ikke umiddelbart nogle
>> problemer eller fejlbeskeder i forbindelse med SQLConnection
>>
>> Så prøver jeg at indsætte en TSQLTable, og den popper op med et gult
>> spørgsmålstegn. Jeg kan bl.a. IKKE vælge noget overhovedet i tablename
>> propertien og den kan ikke finde nogen tabeller.
>>
>> Der står jeg med håret i postkassen - hvor laver jeg ged i den?
>
> dbExpress som følger med Delphi understøtter kun MySQL op til version
> 4.0.26
Nogle der ved, hvordan sådan noget virker?
http://www.justsoftwaresolutions.co.uk/delphi
Hvad man skal gøre for at få det til at fungere.
| |
Harald (07-04-2006)
| Kommentar Fra : Harald |
Dato : 07-04-06 22:37 |
|
"Vinther" <2584431m003@FJERNstofanet.dk> skrev i en meddelelse
news:4436d872$0$9301$ba624c82@nntp02.dk.telia.net...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
> news:4436b58a$0$84037$edfadb0f@dtext01.news.tele.dk...
>> "Vinther" <2584431m003@FJERNstofanet.dk> skrev i en meddelelse
>> news:44368ed2$0$11671$ba624c82@nntp02.dk.telia.net...
>>> Hej.
>>>
<cut>
> Nogle der ved, hvordan sådan noget virker?
>
> http://www.justsoftwaresolutions.co.uk/delphi
>
> Hvad man skal gøre for at få det til at fungere.
Fra borland gruppen:
Copy the DLL somewhere on your path. You will also need an appropriate
(V5.0) libmysql.dll on the path.
If you're setting your dbexpress stuff up in the IDE, append the contents of
the .ini files to the existing ones of the same name in your Delphi
installation.
If you're setting up the dbexpress stuff programmatically, then you need
something like:
var
Connection: TSQLConnection;
begin
Connection := TSQLConnection.Create(nil);
Connection.DriverName := 'dbxmysql';
Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
Connection.LibraryName := 'dbxopenmysql50.dll';
Connection.VendorLib := 'libmysql.dll';
Connection.Params.Append('Database=NAME_OF_DATABASE);
Connection.Params.Append('User_Name=NAME_OF_USER');
Connection.Params.Append('Password=PASSWORD');
Connection.Params.Append('HostName=localhost');
// ... do stuff
Connection.Free;
end;
/HK
| |
Ukendt (09-04-2006)
| Kommentar Fra : Ukendt |
Dato : 09-04-06 23:34 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:4436db75$0$84020$edfadb0f@dtext01.news.tele.dk...
> "Vinther" <2584431m003@FJERNstofanet.dk> skrev i en meddelelse
> news:4436d872$0$9301$ba624c82@nntp02.dk.telia.net...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>> news:4436b58a$0$84037$edfadb0f@dtext01.news.tele.dk...
>>> "Vinther" <2584431m003@FJERNstofanet.dk> skrev i en meddelelse
>>> news:44368ed2$0$11671$ba624c82@nntp02.dk.telia.net...
>>>> Hej.
>>>>
>
> <cut>
>
>> Nogle der ved, hvordan sådan noget virker?
>>
>> http://www.justsoftwaresolutions.co.uk/delphi
>>
>> Hvad man skal gøre for at få det til at fungere.
>
> Fra borland gruppen:
>
> Copy the DLL somewhere on your path. You will also need an appropriate
> (V5.0) libmysql.dll on the path.
>
> If you're setting your dbexpress stuff up in the IDE, append the contents
> of the .ini files to the existing ones of the same name in your Delphi
> installation.
>
> If you're setting up the dbexpress stuff programmatically, then you need
> something like:
>
> var
> Connection: TSQLConnection;
> begin
> Connection := TSQLConnection.Create(nil);
> Connection.DriverName := 'dbxmysql';
> Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
> Connection.LibraryName := 'dbxopenmysql50.dll';
> Connection.VendorLib := 'libmysql.dll';
> Connection.Params.Append('Database=NAME_OF_DATABASE);
> Connection.Params.Append('User_Name=NAME_OF_USER');
> Connection.Params.Append('Password=PASSWORD');
> Connection.Params.Append('HostName=localhost');
>
> // ... do stuff
>
> Connection.Free;
> end;
Hej Harald.
Har du erfaring med ovenstående?
Jeg har forsøgt, men kan ikke få forbindelse.
Umiddelbart har jeg gjort ovenstående. Jeg har kopieret dll-filen til mit
projekts databasebibliotek. Mon det er forkert jvf. nedenstående?
> Copy the DLL somewhere on your path. You will also need an appropriate
> (V5.0) libmysql.dll on the path.
Og den appropriate (V5.0) libmysql.dll må være den, der følger med MySQL
5,0 - den har jeg kopieret til samme sted.
Mit problem er ikke, når jeg forbinder SQLConnection. Problemet er når jeg
prøver at forbinde en SQLTable, SQLQuery, SQLDataset osv.
| |
Harald (10-04-2006)
| Kommentar Fra : Harald |
Dato : 10-04-06 00:33 |
|
"Vinther" <.-.> skrev i en meddelelse
news:44398bcd$0$12400$ba624c82@nntp02.dk.telia.net...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
<cut>
>> Fra borland gruppen:
>>
>> Copy the DLL somewhere on your path. You will also need an appropriate
>> (V5.0) libmysql.dll on the path.
>>
>> If you're setting your dbexpress stuff up in the IDE, append the contents
>> of the .ini files to the existing ones of the same name in your Delphi
>> installation.
>>
>> If you're setting up the dbexpress stuff programmatically, then you need
>> something like:
>>
>> var
>> Connection: TSQLConnection;
>> begin
>> Connection := TSQLConnection.Create(nil);
>> Connection.DriverName := 'dbxmysql';
>> Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
>> Connection.LibraryName := 'dbxopenmysql50.dll';
>> Connection.VendorLib := 'libmysql.dll';
>> Connection.Params.Append('Database=NAME_OF_DATABASE);
>> Connection.Params.Append('User_Name=NAME_OF_USER');
>> Connection.Params.Append('Password=PASSWORD');
>> Connection.Params.Append('HostName=localhost');
>>
>> // ... do stuff
>>
>> Connection.Free;
>> end;
>
> Hej Harald.
>
> Har du erfaring med ovenstående?
>
> Jeg har forsøgt, men kan ikke få forbindelse.
>
> Umiddelbart har jeg gjort ovenstående. Jeg har kopieret dll-filen til mit
> projekts databasebibliotek. Mon det er forkert jvf. nedenstående?
>
>> Copy the DLL somewhere on your path. You will also need an appropriate
>> (V5.0) libmysql.dll on the path.
>
> Og den appropriate (V5.0) libmysql.dll må være den, der følger med MySQL
> 5,0 - den har jeg kopieret til samme sted.
>
> Mit problem er ikke, når jeg forbinder SQLConnection. Problemet er når jeg
> prøver at forbinde en SQLTable, SQLQuery, SQLDataset osv.
Nej jeg bruger MySQL 4.0.26 og den medfølgende Borland dbExpress driver,
hvilken fejl får du?
/HK
| |
Ukendt (10-04-2006)
| Kommentar Fra : Ukendt |
Dato : 10-04-06 00:43 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:4439999e$0$84026$edfadb0f@dtext01.news.tele.dk...
> "Vinther" <.-.> skrev i en meddelelse
> news:44398bcd$0$12400$ba624c82@nntp02.dk.telia.net...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>
> <cut>
>
>>> Fra borland gruppen:
>>>
>>> Copy the DLL somewhere on your path. You will also need an appropriate
>>> (V5.0) libmysql.dll on the path.
>>>
>>> If you're setting your dbexpress stuff up in the IDE, append the
>>> contents of the .ini files to the existing ones of the same name in your
>>> Delphi installation.
>>>
>>> If you're setting up the dbexpress stuff programmatically, then you need
>>> something like:
>>>
>>> var
>>> Connection: TSQLConnection;
>>> begin
>>> Connection := TSQLConnection.Create(nil);
>>> Connection.DriverName := 'dbxmysql';
>>> Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
>>> Connection.LibraryName := 'dbxopenmysql50.dll';
>>> Connection.VendorLib := 'libmysql.dll';
>>> Connection.Params.Append('Database=NAME_OF_DATABASE);
>>> Connection.Params.Append('User_Name=NAME_OF_USER');
>>> Connection.Params.Append('Password=PASSWORD');
>>> Connection.Params.Append('HostName=localhost');
>>>
>>> // ... do stuff
>>>
>>> Connection.Free;
>>> end;
>>
>> Hej Harald.
>>
>> Har du erfaring med ovenstående?
>>
>> Jeg har forsøgt, men kan ikke få forbindelse.
>>
>> Umiddelbart har jeg gjort ovenstående. Jeg har kopieret dll-filen til mit
>> projekts databasebibliotek. Mon det er forkert jvf. nedenstående?
>>
>>> Copy the DLL somewhere on your path. You will also need an appropriate
>>> (V5.0) libmysql.dll on the path.
>>
>> Og den appropriate (V5.0) libmysql.dll må være den, der følger med MySQL
>> 5,0 - den har jeg kopieret til samme sted.
>>
>> Mit problem er ikke, når jeg forbinder SQLConnection. Problemet er når
>> jeg prøver at forbinde en SQLTable, SQLQuery, SQLDataset osv.
>
> Nej jeg bruger MySQL 4.0.26 og den medfølgende Borland dbExpress driver,
> hvilken fejl får du?
Jeg får ikke en direkte fejlmeddelelse.
Men jeg har puttet min SQLConnection på mit datamodul og det ser umiddelbart
ud til at få forbindelse med MySQL. Den brokker sig ikke i hvert fald, når
jeg sætter connected til true.
Når jeg så sætter en TSQLTable, TSQLQuery, TSQLDataset mv. på mit datamodul,
så får jeg en (indirekte) fejl og kan ikke komme videre ud fra følgende to
punkter:
- Et "spørgsmålstegn" dukker op på TSQLTablen (hvis det er den, jeg har
brugt på min liste over komponenter og melder den vej igennem fejl
- Jeg kan ikke vælge nogle tabeller i table propertien i object inspector
Måske har jeg misforsteåt noget
| |
Harald (10-04-2006)
| Kommentar Fra : Harald |
Dato : 10-04-06 08:44 |
|
"Vinther" <.-.> skrev i en meddelelse
news:44399c15$0$11700$ba624c82@nntp02.dk.telia.net...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
> news:4439999e$0$84026$edfadb0f@dtext01.news.tele.dk...
>> "Vinther" <.-.> skrev i en meddelelse
>> news:44398bcd$0$12400$ba624c82@nntp02.dk.telia.net...
>>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>>
>> <cut>
>>
>>>> Fra borland gruppen:
>>>>
>>>> Copy the DLL somewhere on your path. You will also need an appropriate
>>>> (V5.0) libmysql.dll on the path.
>>>>
>>>> If you're setting your dbexpress stuff up in the IDE, append the
>>>> contents of the .ini files to the existing ones of the same name in
>>>> your Delphi installation.
>>>>
>>>> If you're setting up the dbexpress stuff programmatically, then you
>>>> need something like:
>>>>
>>>> var
>>>> Connection: TSQLConnection;
>>>> begin
>>>> Connection := TSQLConnection.Create(nil);
>>>> Connection.DriverName := 'dbxmysql';
>>>> Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
>>>> Connection.LibraryName := 'dbxopenmysql50.dll';
>>>> Connection.VendorLib := 'libmysql.dll';
>>>> Connection.Params.Append('Database=NAME_OF_DATABASE);
>>>> Connection.Params.Append('User_Name=NAME_OF_USER');
>>>> Connection.Params.Append('Password=PASSWORD');
>>>> Connection.Params.Append('HostName=localhost');
>>>>
>>>> // ... do stuff
>>>>
>>>> Connection.Free;
>>>> end;
>>>
>>> Hej Harald.
>>>
>>> Har du erfaring med ovenstående?
>>>
>>> Jeg har forsøgt, men kan ikke få forbindelse.
>>>
>>> Umiddelbart har jeg gjort ovenstående. Jeg har kopieret dll-filen til
>>> mit projekts databasebibliotek. Mon det er forkert jvf. nedenstående?
>>>
>>>> Copy the DLL somewhere on your path. You will also need an appropriate
>>>> (V5.0) libmysql.dll on the path.
>>>
>>> Og den appropriate (V5.0) libmysql.dll må være den, der følger med MySQL
>>> 5,0 - den har jeg kopieret til samme sted.
>>>
>>> Mit problem er ikke, når jeg forbinder SQLConnection. Problemet er når
>>> jeg prøver at forbinde en SQLTable, SQLQuery, SQLDataset osv.
>>
>> Nej jeg bruger MySQL 4.0.26 og den medfølgende Borland dbExpress driver,
>> hvilken fejl får du?
>
> Jeg får ikke en direkte fejlmeddelelse.
>
> Men jeg har puttet min SQLConnection på mit datamodul og det ser
> umiddelbart ud til at få forbindelse med MySQL. Den brokker sig ikke i
> hvert fald, når jeg sætter connected til true.
>
> Når jeg så sætter en TSQLTable, TSQLQuery, TSQLDataset mv. på mit
> datamodul, så får jeg en (indirekte) fejl og kan ikke komme videre ud fra
> følgende to punkter:
>
> - Et "spørgsmålstegn" dukker op på TSQLTablen (hvis det er den, jeg har
> brugt på min liste over komponenter og melder den vej igennem fejl
> - Jeg kan ikke vælge nogle tabeller i table propertien i object inspector
>
> Måske har jeg misforsteåt noget
Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget med
sikkerhed, men uanset hvordan du gør så skal du vel bruge en
TDataSetProvider vil jeg mene.
/HK
| |
Ukendt (10-04-2006)
| Kommentar Fra : Ukendt |
Dato : 10-04-06 11:05 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>
> "Vinther" <.-.> skrev i en meddelelse
> news:44399c15$0$11700$ba624c82@nntp02.dk.telia.net...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>> news:4439999e$0$84026$edfadb0f@dtext01.news.tele.dk...
>>> "Vinther" <.-.> skrev i en meddelelse
>>> news:44398bcd$0$12400$ba624c82@nntp02.dk.telia.net...
>>>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>>>
>>> <cut>
>>>
>>>>> Fra borland gruppen:
>>>>>
>>>>> Copy the DLL somewhere on your path. You will also need an appropriate
>>>>> (V5.0) libmysql.dll on the path.
>>>>>
>>>>> If you're setting your dbexpress stuff up in the IDE, append the
>>>>> contents of the .ini files to the existing ones of the same name in
>>>>> your Delphi installation.
>>>>>
>>>>> If you're setting up the dbexpress stuff programmatically, then you
>>>>> need something like:
>>>>>
>>>>> var
>>>>> Connection: TSQLConnection;
>>>>> begin
>>>>> Connection := TSQLConnection.Create(nil);
>>>>> Connection.DriverName := 'dbxmysql';
>>>>> Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
>>>>> Connection.LibraryName := 'dbxopenmysql50.dll';
>>>>> Connection.VendorLib := 'libmysql.dll';
>>>>> Connection.Params.Append('Database=NAME_OF_DATABASE);
>>>>> Connection.Params.Append('User_Name=NAME_OF_USER');
>>>>> Connection.Params.Append('Password=PASSWORD');
>>>>> Connection.Params.Append('HostName=localhost');
>>>>>
>>>>> // ... do stuff
>>>>>
>>>>> Connection.Free;
>>>>> end;
>>>>
>>>> Hej Harald.
>>>>
>>>> Har du erfaring med ovenstående?
>>>>
>>>> Jeg har forsøgt, men kan ikke få forbindelse.
>>>>
>>>> Umiddelbart har jeg gjort ovenstående. Jeg har kopieret dll-filen til
>>>> mit projekts databasebibliotek. Mon det er forkert jvf. nedenstående?
>>>>
>>>>> Copy the DLL somewhere on your path. You will also need an appropriate
>>>>> (V5.0) libmysql.dll on the path.
>>>>
>>>> Og den appropriate (V5.0) libmysql.dll må være den, der følger med
>>>> MySQL 5,0 - den har jeg kopieret til samme sted.
>>>>
>>>> Mit problem er ikke, når jeg forbinder SQLConnection. Problemet er når
>>>> jeg prøver at forbinde en SQLTable, SQLQuery, SQLDataset osv.
>>>
>>> Nej jeg bruger MySQL 4.0.26 og den medfølgende Borland dbExpress driver,
>>> hvilken fejl får du?
>>
>> Jeg får ikke en direkte fejlmeddelelse.
>>
>> Men jeg har puttet min SQLConnection på mit datamodul og det ser
>> umiddelbart ud til at få forbindelse med MySQL. Den brokker sig ikke i
>> hvert fald, når jeg sætter connected til true.
>>
>> Når jeg så sætter en TSQLTable, TSQLQuery, TSQLDataset mv. på mit
>> datamodul, så får jeg en (indirekte) fejl og kan ikke komme videre ud fra
>> følgende to punkter:
>>
>> - Et "spørgsmålstegn" dukker op på TSQLTablen (hvis det er den, jeg har
>> brugt på min liste over komponenter og melder den vej igennem fejl
>> - Jeg kan ikke vælge nogle tabeller i table propertien i object inspector
>>
>> Måske har jeg misforsteåt noget
>
> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget med
> sikkerhed, men uanset hvordan du gør så skal du vel bruge en
> TDataSetProvider vil jeg mene.
Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde sådan.
Hvordan bruger du det?
Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg ikke
brugt overhovedet.
Hvad skal jeg være opmærksom på her?
| |
Harald (10-04-2006)
| Kommentar Fra : Harald |
Dato : 10-04-06 20:58 |
|
"Vinther" <.-.> skrev i en meddelelse
news:443a2dad$0$9303$ba624c82@nntp02.dk.telia.net...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
> news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>>
<klip en stak>
>> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget med
>> sikkerhed, men uanset hvordan du gør så skal du vel bruge en
>> TDataSetProvider vil jeg mene.
>
> Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde sådan.
> Hvordan bruger du det?
>
> Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg ikke
> brugt overhovedet.
>
> Hvad skal jeg være opmærksom på her?
Jeg bruger kun:
TSQLConnection
SQLQuery: TSQLQuery
DataSetProvider: TDataSetProvider
og så bruger jeg TClientDataSet til at gemme resultatet i. Jeg har lavet en
demo som du måske kan få noget ud af, ved så ikke om du kan få den ændret så
den virker sammen med MySQL 5.
http://www.kroning.dk/DbxDemo.zip
/HK
| |
Ukendt (11-04-2006)
| Kommentar Fra : Ukendt |
Dato : 11-04-06 20:11 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:443ab8ce$0$84033$edfadb0f@dtext01.news.tele.dk...
> "Vinther" <.-.> skrev i en meddelelse
> news:443a2dad$0$9303$ba624c82@nntp02.dk.telia.net...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>> news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>>>
> <klip en stak>
>
>>> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget med
>>> sikkerhed, men uanset hvordan du gør så skal du vel bruge en
>>> TDataSetProvider vil jeg mene.
>>
>> Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde
>> sådan. Hvordan bruger du det?
>>
>> Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg ikke
>> brugt overhovedet.
>>
>> Hvad skal jeg være opmærksom på her?
>
> Jeg bruger kun:
> TSQLConnection
> SQLQuery: TSQLQuery
> DataSetProvider: TDataSetProvider
>
> og så bruger jeg TClientDataSet til at gemme resultatet i. Jeg har lavet
> en demo som du måske kan få noget ud af, ved så ikke om du kan få den
> ændret så den virker sammen med MySQL 5.
> http://www.kroning.dk/DbxDemo.zip
Hej Harald.
Når jeg kører ovenstående project efter at have tilrettet databasenavn,
password og brugernavn, og jeg klikker på knappen i dit eksempelprojekt, så
sker følgende.
1. En dialogboks med teksten "forbindelse ok" dukker op. Jeg klikker ok.
2. Derefter kommer en fejlbesked op med flg. tekst: "Der er opstået en fejl
i forbindelsen til serveren. Fejl: DBExpress error : [0x0003]: Invalid Field
Type
| |
Ukendt (11-04-2006)
| Kommentar Fra : Ukendt |
Dato : 11-04-06 20:13 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:443ab8ce$0$84033$edfadb0f@dtext01.news.tele.dk...
> "Vinther" <.-.> skrev i en meddelelse
> news:443a2dad$0$9303$ba624c82@nntp02.dk.telia.net...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>> news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>>>
> <klip en stak>
>
>>> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget med
>>> sikkerhed, men uanset hvordan du gør så skal du vel bruge en
>>> TDataSetProvider vil jeg mene.
>>
>> Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde
>> sådan. Hvordan bruger du det?
>>
>> Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg ikke
>> brugt overhovedet.
>>
>> Hvad skal jeg være opmærksom på her?
>
> Jeg bruger kun:
> TSQLConnection
> SQLQuery: TSQLQuery
> DataSetProvider: TDataSetProvider
>
> og så bruger jeg TClientDataSet til at gemme resultatet i. Jeg har lavet
> en demo som du måske kan få noget ud af, ved så ikke om du kan få den
> ændret så den virker sammen med MySQL 5.
> http://www.kroning.dk/DbxDemo.zip
Ved du i øvrigt, hvad denne fejl vil sige og kan rettes
"Operation not allowed on a unidirectional dataset"
Den kommer, når jeg forsøger at sætte datasource på en DBGrid til en
datasource, som er connectet til min SQLQuery for at kunne vise data fra
databasen.
| |
Harald (11-04-2006)
| Kommentar Fra : Harald |
Dato : 11-04-06 20:36 |
|
"Vinther" <.-.> skrev i en meddelelse
news:443bffd4$0$9303$ba624c82@nntp02.dk.telia.net...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
> news:443ab8ce$0$84033$edfadb0f@dtext01.news.tele.dk...
>> "Vinther" <.-.> skrev i en meddelelse
>> news:443a2dad$0$9303$ba624c82@nntp02.dk.telia.net...
>>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>>> news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>>>>
>> <klip en stak>
>>
>>>> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget
>>>> med sikkerhed, men uanset hvordan du gør så skal du vel bruge en
>>>> TDataSetProvider vil jeg mene.
>>>
>>> Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde
>>> sådan. Hvordan bruger du det?
>>>
>>> Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg ikke
>>> brugt overhovedet.
>>>
>>> Hvad skal jeg være opmærksom på her?
>>
>> Jeg bruger kun:
>> TSQLConnection
>> SQLQuery: TSQLQuery
>> DataSetProvider: TDataSetProvider
>>
>> og så bruger jeg TClientDataSet til at gemme resultatet i. Jeg har lavet
>> en demo som du måske kan få noget ud af, ved så ikke om du kan få den
>> ændret så den virker sammen med MySQL 5.
>> http://www.kroning.dk/DbxDemo.zip
>
> Ved du i øvrigt, hvad denne fejl vil sige og kan rettes
>
> "Operation not allowed on a unidirectional dataset"
>
> Den kommer, når jeg forsøger at sætte datasource på en DBGrid til en
> datasource, som er connectet til min SQLQuery for at kunne vise data fra
> databasen.
Grunden til fejlen i mit demo program er nok fordi du bruger MySQL 5 og jeg
har lavet det til MySQL 4.0. Der er nok nogle små forskelle.
Mht. "Operation not allowed on a unidirectional dataset" så er det noget med
at man med en SQLQuery ikke kan gå tilbage i records men kun frem, men jeg
er ikke helt sikker på det da jeg som nævnt aldrig bruger DB?? komponenter.
/HK
| |
Ukendt (11-04-2006)
| Kommentar Fra : Ukendt |
Dato : 11-04-06 21:21 |
|
"Harald" <nomail@noname.dk> skrev i en meddelelse
news:443c053d$0$84020$edfadb0f@dtext01.news.tele.dk...
> "Vinther" <.-.> skrev i en meddelelse
> news:443bffd4$0$9303$ba624c82@nntp02.dk.telia.net...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>> news:443ab8ce$0$84033$edfadb0f@dtext01.news.tele.dk...
>>> "Vinther" <.-.> skrev i en meddelelse
>>> news:443a2dad$0$9303$ba624c82@nntp02.dk.telia.net...
>>>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>>>> news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>>>>>
>>> <klip en stak>
>>>
>>>>> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget
>>>>> med sikkerhed, men uanset hvordan du gør så skal du vel bruge en
>>>>> TDataSetProvider vil jeg mene.
>>>>
>>>> Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde
>>>> sådan. Hvordan bruger du det?
>>>>
>>>> Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg
>>>> ikke brugt overhovedet.
>>>>
>>>> Hvad skal jeg være opmærksom på her?
>>>
>>> Jeg bruger kun:
>>> TSQLConnection
>>> SQLQuery: TSQLQuery
>>> DataSetProvider: TDataSetProvider
>>>
>>> og så bruger jeg TClientDataSet til at gemme resultatet i. Jeg har lavet
>>> en demo som du måske kan få noget ud af, ved så ikke om du kan få den
>>> ændret så den virker sammen med MySQL 5.
>>> http://www.kroning.dk/DbxDemo.zip
>>
>> Ved du i øvrigt, hvad denne fejl vil sige og kan rettes
>>
>> "Operation not allowed on a unidirectional dataset"
>>
>> Den kommer, når jeg forsøger at sætte datasource på en DBGrid til en
>> datasource, som er connectet til min SQLQuery for at kunne vise data fra
>> databasen.
>
> Grunden til fejlen i mit demo program er nok fordi du bruger MySQL 5 og
> jeg har lavet det til MySQL 4.0. Der er nok nogle små forskelle.
> Mht. "Operation not allowed on a unidirectional dataset" så er det noget
> med at man med en SQLQuery ikke kan gå tilbage i records men kun frem, men
> jeg er ikke helt sikker på det da jeg som nævnt aldrig bruger DB??
> komponenter.
Hej Harald.
Jeg har fjernet MySQL 5,0 og installeret MySQL 4.0.26 i stedet for.
Det er også her, jeg får fejlen i dit demoprogram.
Mht. den sidste fejl, som jeg nævnte så har jeg anvendt en DBGrid som
DBKomponent. Uden den, kan jeg jo ikke få vist mine data?
| |
Harald (11-04-2006)
| Kommentar Fra : Harald |
Dato : 11-04-06 21:35 |
|
"Vinther" <.-.> skrev i en meddelelse
news:443c0fbd$0$11660$ba624c82@nntp02.dk.telia.net...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
> news:443c053d$0$84020$edfadb0f@dtext01.news.tele.dk...
>> "Vinther" <.-.> skrev i en meddelelse
>> news:443bffd4$0$9303$ba624c82@nntp02.dk.telia.net...
>>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>>> news:443ab8ce$0$84033$edfadb0f@dtext01.news.tele.dk...
>>>> "Vinther" <.-.> skrev i en meddelelse
>>>> news:443a2dad$0$9303$ba624c82@nntp02.dk.telia.net...
>>>>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>>>>> news:443a0cd1$0$84015$edfadb0f@dtext01.news.tele.dk...
>>>>>>
>>>> <klip en stak>
>>>>
>>>>>> Jeg har aldrig brugt det på den måde så jeg kan ikke lige sige noget
>>>>>> med sikkerhed, men uanset hvordan du gør så skal du vel bruge en
>>>>>> TDataSetProvider vil jeg mene.
>>>>>
>>>>> Okay. Det er måske en "forkert" måde, jeg har gjort. Det kunne lyde
>>>>> sådan. Hvordan bruger du det?
>>>>>
>>>>> Ja, det er nok TDataSetProvideren, som jeg mangler, for den har jeg
>>>>> ikke brugt overhovedet.
>>>>>
>>>>> Hvad skal jeg være opmærksom på her?
>>>>
>>>> Jeg bruger kun:
>>>> TSQLConnection
>>>> SQLQuery: TSQLQuery
>>>> DataSetProvider: TDataSetProvider
>>>>
>>>> og så bruger jeg TClientDataSet til at gemme resultatet i. Jeg har
>>>> lavet en demo som du måske kan få noget ud af, ved så ikke om du kan få
>>>> den ændret så den virker sammen med MySQL 5.
>>>> http://www.kroning.dk/DbxDemo.zip
>>>
>>> Ved du i øvrigt, hvad denne fejl vil sige og kan rettes
>>>
>>> "Operation not allowed on a unidirectional dataset"
>>>
>>> Den kommer, når jeg forsøger at sætte datasource på en DBGrid til en
>>> datasource, som er connectet til min SQLQuery for at kunne vise data fra
>>> databasen.
>>
>> Grunden til fejlen i mit demo program er nok fordi du bruger MySQL 5 og
>> jeg har lavet det til MySQL 4.0. Der er nok nogle små forskelle.
>> Mht. "Operation not allowed on a unidirectional dataset" så er det noget
>> med at man med en SQLQuery ikke kan gå tilbage i records men kun frem,
>> men jeg er ikke helt sikker på det da jeg som nævnt aldrig bruger DB??
>> komponenter.
>
> Hej Harald.
>
> Jeg har fjernet MySQL 5,0 og installeret MySQL 4.0.26 i stedet for.
>
> Det er også her, jeg får fejlen i dit demoprogram.
Så må det være fordi du bruger en forkert dll fil enten libMysql.dll som
følger med MySQL eller dbexpmysql.dll´en
> Mht. den sidste fejl, som jeg nævnte så har jeg anvendt en DBGrid som
> DBKomponent. Uden den, kan jeg jo ikke få vist mine data?
Jeg viser data manuelt i f.eks. en TListView eller i nogle TEdit´s, når jeg
henter data fra MySQL gør jeg det ved at skrive en sql SELECT sætning og når
jeg gemmer gør jeg det med en sql UPDATE eller INSERT sætning.
/HK
| |
|
|