Avatar billede sumsar-- Nybegynder
07. august 2003 - 12:28 Der er 8 kommentarer og
1 løsning

MySQL, ODBC og sql kald

Jeg har mit program der benytter sig af databaser via odbc og bde.

Hvordan udfører jeg lettest et mysql kald til min mysql database via odbc?
F.eks

"UPDATE varedata SET Nummer = '123' WHERE id = '2';"
Avatar billede laffe Nybegynder
07. august 2003 - 12:37 #1
Ved at bruge en TQuery component


Query->SQL = "UPDATE varedata SET Nummer = '123' WHERE id = '2'";
Query->ExecSQL();
Avatar billede arne_v Ekspert
07. august 2003 - 12:38 #2
SQLExecDirect
Avatar billede arne_v Ekspert
07. august 2003 - 12:39 #3
(det er altså ikke BDE men standard ODBC API)
Avatar billede sumsar-- Nybegynder
07. august 2003 - 12:41 #4
hmmm, jeg prøver mig lige lidt frem, så vender jeg tilbage til jer :-)
Avatar billede sumsar-- Nybegynder
07. august 2003 - 16:01 #5
Jeg har nu tilføjet denne kode til mit projekt:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
  Query1->SQL = "UPDATE kontrol SET updat_ = 'true' WHERE kontrolId = '2'";
  Query1->ExecSQL();
}

Men den kommer med denne fejl:

[C++ Error] Unit1.cpp(74): E2034 Cannot convert 'char *' to 'TStrings *'
Avatar billede sumsar-- Nybegynder
07. august 2003 - 16:05 #6
arne_v >> Programmet benytter sig også af BDE da den henter den oprindelige data fra en paradox database via bde.

Hvis jeg ligger min sql sætning ind i proppertyen "SQL" så virker det med ExecSQL(); men jeg ville dog gerne kunne bruge noget lignende laffe's forslag.

Mvh
Rasmus
Avatar billede sumsar-- Nybegynder
07. august 2003 - 19:13 #7
laffe >> lige nu har jeg så tilføjet 2 Query komponenter, men ville dog gerne nøjes med den ene, og så skifte sql sætningen ud - kan du se ud fra ovenstående fejl hvad problemet er?
Avatar billede laffe Nybegynder
08. august 2003 - 06:01 #8
Sumsar >>

SQL Propertien er en TStrings classe. Den kan indeholde an liste af strings, så du skal add'e din SQL sætning til listen.

Det betyder også at du kan execute flere sætninger efter hinanden.

void __fastcall TForm1::Button2Click(TObject *Sender)
{
  Query1->SQL->Clear();
  Query1->SQL->Add("UPDATE kontrol SET updat_ = 'true' WHERE kontrolId = '2'");
  Query1->ExecSQL();
}
Avatar billede sumsar-- Nybegynder
08. august 2003 - 10:36 #9
Laffe >> Cool, lyder jo faktisk meget fornuftigt :-)

Mange tak for hjælpen endnu engang.

Mvh
Rasmus
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester