webForumDet fria alternativet

Syntax error in INSERT INTO statement

10 svar · 311 visningar · startad av plelkes

plelkesMedlem sedan mars 2002823 inlägg
#1

Hej alla gladad wfare...
Ser ni felet i nedanstående kod

Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

personnr = Request.Form("pnr")
Tilltnamn = Request.Form("firstnamn")
Eftn = Request.Form("familjenamn")
ind = FormatDateTime(Date, 2)

strSQL = "INSERT INTO vbalans(patID, ftFnamn, ftEnamn, In) VALUES('" & personnr & "','" & Tilltnamn & "','" & Eftn & "', #" & ind & "#)"
vatskeb.Execute strSQL, , 128
            
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "meny.htm"

För det gör nämligen inte jag...

Om jag gör Response.Write strSQL

INSERT INTO vbalans(patID, ftFnamn, ftEnamn, In) VALUES('','','', #12/3/2003#)

det verkar som endast ett " eller två enkel fjuttar som läggs till

erkaMedlem sedan dec. 19994 597 inlägg
#2

Vad är patID för typ av fält, är det räknare tal ska du skippa ' fnuttarna

@ndersMedlem sedan juni 200026 914 inlägg
#3

IN är ett reserverat ord. Byt namn på fältet, eller klamra om du måste.

Mvh

plelkesMedlem sedan mars 2002823 inlägg
#4

erka: patID är tal - att jag aldrig lär mig*snyft*

@nders skrev:

.... eller klamra om du måste

hur menar du det?

erkaMedlem sedan dec. 19994 597 inlägg
#5

[In]

@ndersMedlem sedan juni 200026 914 inlägg
#6

Även om man kan klamra enligt erkas exempel så är det inte att rekommendera. Råkar man sno ett reserverat ord till namn i sin databas någonstans, då ska man genast byta. :)

Mvh

plelkesMedlem sedan mars 2002823 inlägg
#7
  1. ok - då skippar jag enkel fnuttarna
  2. döper om fältet IN till ngt annat tex fIN
  3. kan personnumer fortfarande vara tal fast jag vill ha inmatning : ÅÅMMDD - 123
LarsGMedlem sedan dec. 200012 465 inlägg
#8

3. Om du vill lagra det som ååmmdd-7536 så måste du använda en char-datatyp.

erkaMedlem sedan dec. 19994 597 inlägg
#9

plelkes, skulle gjort personnummerfältet som tal och skrivit lagt in dem som ÅÅMMDDXXXX, sedan vid presentationen splittar du upp det och skriver ut - tecknet.

plelkesMedlem sedan mars 2002823 inlägg
#10

LarsG skrev:

Om du vill lagra det som ååmmdd-7536 så måste du använda en char-datatyp.

  1. finns verkligen dessa i en access-databas?
  2. skulle man kunna få ett exempel på srtSQL-kod konstruktion?
erkaMedlem sedan dec. 19994 597 inlägg
#11

1. I access får du använda text, längd efter antalet tecken.

Kan du förklara vad du menar med fråga 2.?

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb