Avatar billede cyaegha Nybegynder
30. marts 2003 - 14:57 Der er 1 kommentar og
1 løsning

Parametre i SQL-Query med værdien NULL?

Jeg vil overføre data til min access database, og jeg benytter parametre i sql-sætningen.

Mit problem er at når mine parametre ikke har fået en værdi så meldes der fejl.

"Syntax error (missing operator) in query expression '?
Tabel.Param = ?"

min tildeling opbygget sådan her:
var Param:integer;
if (sandt)
  Param:=Edit.tekst;
with query do
  begin
    sql.Add('UPDATE Tabel SET');
    sql.Add('Tabel.Felt = :Param');
    Parameters.ParamByName'Param')
        .Value:=Param;
    ExeSQL;
  end;

Det er altså ikke sikkert at Param får tildelt en værdi. Jeg gik ud fra at den så havde værdien <NULL> og derfor ikke ville få problemer med databasen. Denne accepterer Null-værdier i feltet. Skal jeg tildele en værdi til min variabel for at få sql-sætningen til at virke, eller er der en anden fiks måde at klare problemet på?
Avatar billede cyaegha Nybegynder
30. marts 2003 - 15:01 #1
Og er der en måde jeg kan se min SQL-sætning som databasen ser den. For hvis bare SQL(TStrings) vises er det med ':Param' og ikke værdien.
Avatar billede cyaegha Nybegynder
31. marts 2003 - 10:08 #2
Mit problem var ikke at parametrene fik tildelt gale værdier.
Variablen skal ikke tildeles en værdi. Ved allokeringen får den værdien 0, som benyttes i min SQL-sætning.
Problemet var at jeg har 3 parametre, og havde glemt noget så enkelt som et komma:

UPDATE TAbel SET
Tabel.Felt1= :Param1,  //HER ER ET KOMMA
Tabel.Felt2= :Param2

Fejlmeddelelsen fra Delpi fik mig til at kigge parametrene efter.
Men jeg kunne stadig godt bruge en måde at se den komplette SQL-sætning som Access ser den.
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