Avatar billede kryster Nybegynder
10. december 2003 - 13:07 Der er 4 kommentarer og
1 løsning

Syntax error in INSERT INTO statement. Alle felter skal udfyldes

Hvorfor skal alle felter udfyldes i følgende kode for at den vil acceptere det?
strSQL = "Insert into T_financiel (competitorID, year, turnover, GrossProfit, ProfitAfterTax, equity,"
strSQL = strSQL & " GrossMargin, SolvencyRatio, Comment)"
strSQL = strSQL & " values(" & Request.Querystring("compid") & ", " & Request.Form("year") & ", "
strSQL = strSQL & Request.Form("turnover") & ", " & Request.Form("gross") & ", "
strSQL = strSQL & Request.Form("profit") & ", " & Request.Form("equity") & ", "
strSQL = strSQL & Request.Form("margin") & ", "
strSQL = strSQL & Request.Form("solvency") & ", '" & Request.Form("comment") & "')"

I Access databasen er felterne defineret som Number, Long Integer, Required = No, Indexed = No.

stringen kommer til at se sådan ud hvis alle felter IKKE er udfyldt.
Insert into T_financiel (competitorID, year, turnover, GrossProfit, ProfitAfterTax, equity, GrossMargin, SolvencyRatio, Comment) values(223, 2002, , 234, 5, , 6, 4, 'test')

Og sådan hvis de er udfyldt og så virker den.
Insert into T_financiel (competitorID, year, turnover, GrossProfit, ProfitAfterTax, equity, GrossMargin, SolvencyRatio, Comment) values(223, 2002, 12, 234, 5, 6, 6, 4, 'test')

Hvordan kan man få det til at virke hvis alle felter ikke bliver udfyldt?
Avatar billede medions Nybegynder
10. december 2003 - 13:13 #1
Du skal replace dem som ikke har nogen data til at være li Null!

Fx.

If Request.Form("Profit") = "" Then
  strProfit = Null
Else
  strProfit = Request.Form("Profit")
End If

//>Rune
Avatar billede eagleeye Praktikant
10. december 2003 - 13:13 #2
Man kan ikke sætte tom ind som et tal. Hvis du ikke vil sætte noget ind så skal kolonnen fjernes helt fra SQL sætningen.
Avatar billede kryster Nybegynder
10. december 2003 - 13:29 #3
medions: Kan man ikke sætte en access database til at acceptere NULL værdier i et felt lige som SQL databaser kan?
Eller skal man igennem en If sætning for hvert felt for at checke om det er tomt?
Avatar billede eagleeye Praktikant
10. december 2003 - 13:50 #4
Det dumt at stile spørgsmål til en bestemt bruger. Så kan man gå glib af svaret.
Avatar billede kryster Nybegynder
10. december 2003 - 14:06 #5
Ok. Kan man sætte en access database til at acceptere NULL værdier i et felt lige som SQL databaser kan?
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