04. december 2000 - 13:38Der er
2 kommentarer og 2 løsninger
Builder: SQL
Jeg skal skrive til en database ved tryk på en ok knap. Databasen er en standard \'paradox7\' DB, og i min tabel har jeg tre kolloner (Alpha, Alpha, Int). Når knappen aktiveres, får jeg en fejlmeddelelse om at der en \'Invalid parameter\', jeg fatter det ikke, men måske er der en venlig sjæl her som kan hjælpe.
Funktion der burde gemme værdierne i databasen. Pinger er lidt svære at se, men det er der hvor der er tre(\'\'\'), dvs. \"ping\" ser således ud \"\'\"
Normalt skal man huske at sætte \'Parent\' propertyen på dynamisk kreerede objekter, for at de fungerer - men det skulle (prøv !) kun gælde visuelle komponenter.
Jeg forstår ikke hvorfor du ikke anvender et datamodule, og simpelthen definerer din SQL komponent deri. Hermed behøv du ikke -midlertidigt- at lave en ny komponenet. (Som du i øvrigt glemmer at fjerne igen.) Jeg har prøvet at lave flere TTable komponenter til samme database - og oplevet at mine opdateringer ikke var lavet i databasen før efter jeg havde afsluttet min applikation.
Jeg har lavet en ny applikation med en form og et datamodul. I datamodulet har jeg lagt TO TQuery (SQL) komponenter på, med hver sin TSourcekomponent, og på min form har jeg så lagt et DBGrid (bare for at kunne se hvad der sker), en TEdit til at indtaste min SQL-streng og en TButton til at fyre den af. TDBGrid\'en peger på den anden af de to TQeuery komponenter, som jeg har sat til \'Active\' da jeg designede DataModulet. TQeuery komponent 1 anvender jeg kun til opdateringen.
Min OnClick handler for Button1 ser således ud:
void __fastcall TForm1::Button1Click(TObject *Sender) { // Insert new record into the file. DataModule1->Query1->Close(); DataModule1->Query1->SQL->Clear(); DataModule1->Query1->SQL->Text = Edit1->Text; DataModule1->Query1->ExecSQL(); DataModule1->Query1->Close();
// Force update of dataset used for display. DataModule1->Query2->Close(); DataModule1->Query2->Open(); }
og det fungerer. Det sidste par Close/Open er for at få opdateret indholdet af mit TDBGrid - Refresh vil min ODBC handler af en eller anden grund ikke tillade.
Tak for svaret, det var ikke lige helt det jeg skulle bruge, men fandt selv ud af det. Det virkede åbentbart hvis det hele stod i en linie.
Q->SQL->Add(\"INSERT INTO bruger VALUES ( \'\" + brn + \"\', \'\" + pw +\"\', \" + ret + \")\");
Min plan er at tildele dig nogle point for besværet, men bær over med mig hvis ikke jeg kan hitte det ud:-)
Synes godt om
Ny brugerNybegynder
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.