Avatar billede tolveren Nybegynder
30. marts 2006 - 17:41 Der er 10 kommentarer

Timestamp med SQL insert into

Jeg har et problem. Jeg kan ikke få min base MSSQL til at lave en insert into. Min kode:
<%
Dim conn,rs
Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionTimeout = 15
conn.CommandTimeout = 30
conn.Open "Provider=SQLOLEDB;Data Source=207.123.198.115;" _
    & "Initial Catalog=MSSQLbase;Connect Timeout=15;" _
    & "Network Library=dbmssocn;", "user", "password"
Set rs = Server.CreateObject("ADODB.Recordset")


function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function


SQL = "INSERT into ordrer ("
SQL = SQL + "navn,"
SQL = SQL + "adresse,"
SQL = SQL + "postby,"
SQL = SQL + "Tidsstempel"

SQL = SQL + ") VALUES ('"
SQL = SQL + fixSQL(Request.Form("navn")) + "','"
SQL = SQL + fixSQL(Request.Form("adresse")) + "','"
SQL = SQL + fixSQL(Request.Form("postby"))    + "','"
SQL = SQL + "Tidsstempel=[now()])'"

Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
'Response.Write (SQL)
Response.Redirect "default.asp"
%>
Jeg kan ikke få SQL til at indsætte tidsstempel i basen på feltet "Tidsstempel". Er der nogen som kan hjælpe mig med den korrekte syntaks ? Det ville glæde mig meget.
Avatar billede dr_chaos Nybegynder
30. marts 2006 - 17:44 #1
SQL = "INSERT into ordrer ("
SQL = SQL + "navn,"
SQL = SQL + "adresse,"
SQL = SQL + "postby,"
SQL = SQL + "Tidsstempel"

SQL = SQL + ") VALUES ('"
SQL = SQL + fixSQL(Request.Form("navn")) + "','"
SQL = SQL + fixSQL(Request.Form("adresse")) + "','"
SQL = SQL + fixSQL(Request.Form("postby"))    + "','"
SQL = SQL + "Tidsstempel=getdate()'"
Avatar billede michael_stim Ekspert
30. marts 2006 - 17:45 #2
Prøv bare at skrive now() istedet for Tidsstempel=[now()])
Avatar billede arne_v Ekspert
30. marts 2006 - 17:47 #3
SQL = SQL + "Tidsstempel=[now()])'"

->

SQL = SQL + "now())'"

maaske
Avatar billede tolveren Nybegynder
30. marts 2006 - 17:49 #4
Jeg tjekker lige
Avatar billede tolveren Nybegynder
30. marts 2006 - 17:51 #5
Har det nogen betydning om feltet er string eller date format ?
Avatar billede tolveren Nybegynder
30. marts 2006 - 17:54 #6
Der er ikke noget af det som virker. Har I andre forslag ?
Avatar billede ldanielsen Nybegynder
31. marts 2006 - 09:25 #7
SQL = "INSERT into ordrer (navn, adresse, postby, Tidsstempel) " & _
  " VALUES ('" & fixSQL(Request.Form("navn")) & "', " & _
  "'" & fixSQL(Request.Form("adresse")) & "', " & _
  "'" & fixSQL(Request.Form("postby")) & "', " & _
  " GETDATE())"
Avatar billede tolveren Nybegynder
31. marts 2006 - 15:02 #8
Rigtig godt Idanielsen. Det virker.
Avatar billede tolveren Nybegynder
31. marts 2006 - 15:03 #9
Læg et svar og dú får pointene. Men har du et bud på ovenstående SQL. Hvad er det jeg skriver forkert: SQL = SQL + fixSQL(Request.Form("postby"))    + "','"
SQL = SQL + "Tidsstempel=getdate()'"
Hvori ligger min fejl ?
Avatar billede ldanielsen Nybegynder
03. april 2006 - 09:29 #10
Det som MSSQL "ser" i dit tilfælde bliver for eksempel:

INSERT into ordrer (navn, adresse, postby, Tidsstempel)
  VALUES
('Hans Jensen',' 'Nyvej 3', 'Århus', 'Tidsstempel=getdate()')

Altså beder du om at få tekststrengen "Tidsstempel=getdate()" inserted i feltet Tidsstempel. Og det er jo i hvert fald ikke det du vil
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
Computerworld tilbyder specialiserede kurser i database-management

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