Avatar billede cdygaard Nybegynder
06. april 2002 - 23:17 Der er 3 kommentarer og
1 løsning

Uniqueidentifier

  Jeg får fejlmeddelelsen:

Microsoft OLE DB Provider for SQL Server (0x80040E14)
Syntax error converting from a character string to uniqueidentifier.
/ucsigncom/thankyou.asp, line 74

Min kode ser sådan her ud:

strSQL = "INSERT INTO Buyer_T (Firstname_VC, Lastname_VC, Email_VC, " & _
        "CCNumber_UI, CCExpMonth_IN, CCExpYear_IN" & _
        ") VALUES('" & strFirstname & "', '" & strLastname & "', '" & _
        strEmail & "', '" & uidCCNumber & "', '" & intExpMonth & "', '" & _
        intExpYear & "')"
Set objCmd = Server.Createobject("ADODB.Command")
Set objCmd.ActiveConnection = objConn
objCmd.CommandText = strSQL
objCmd.CommandType = adCmdText
objCmd.Execute
Set objCmd = Nothing
objConn.close
Set objConn = Nothing
End If

OBS: Jeg har et felt i databasen 'CCNumber_UI' der er sat til at være uniqueidentifier.
Hvad er der galt?
Avatar billede cdygaard Nybegynder
06. april 2002 - 23:18 #1
Linje 74 er der hvor der står objCmd.Execute.
Avatar billede yellow Nybegynder
07. april 2002 - 02:34 #2
Er du sikker på at det er uniqueidenitifier du vil bruge? Uniqueidentifier er globalt unik, altså der vil *aldrig* være 2 ens uniqueidentifiers globalt for alle databaser.
Hvis det bare skal være en unik ID for din "Buyer_T" tabel, skal du bruge "numeric" data type med "Identity" sat til "yes".

I tilfælde af at du nu vil bruge uniqueidentifier skal du enten initialisere den med NewID() eller ved at konvertere en streng på formatet: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx hvor x er et hexadecimalt talt ( 0-9 eller a-f ).

Dvs. i dit tilfælde:

strSQL = "INSERT INTO Buyer_T (Firstname_VC, Lastname_VC, Email_VC, " & _
        "CCNumber_UI, CCExpMonth_IN, CCExpYear_IN" & _
        ") VALUES('" & strFirstname & "', '" & strLastname & "', '" & _
        strEmail & "', " & NewID() & ", '" & intExpMonth & "', '" & _
        intExpYear & "')"

ELLER

strSQL = "INSERT INTO Buyer_T (Firstname_VC, Lastname_VC, Email_VC, " & _
        "CCNumber_UI, CCExpMonth_IN, CCExpYear_IN" & _
        ") VALUES('" & strFirstname & "', '" & strLastname & "', '" & _
        strEmail & "', CAST( '" & uidCCNumber & "' AS varchar(36)), '" & intExpMonth & "', '" & _
        intExpYear & "')"
Avatar billede cdygaard Nybegynder
07. april 2002 - 22:51 #3
Jeg fik det til at virke ved at lave uniqueidentifier om til nvarchar, men tak for dit indlæg yellow, send lige et svar så du kan få point.
Avatar billede yellow Nybegynder
07. april 2002 - 23:08 #4
Tak
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