webForumDet fria alternativet

Behöver jag SQL tillbehör för att köra vidare?

ASP

11 svar · 226 visningar · startad av Daniel78

Medlem sedan jan. 2001200 inlägg
Frågan#1

Behöver hjälp för att komma vidare! Jo jag undrar över den kod jag skickat med här. Det är så att den kommer från ett fritt inloggnings admin system som jag hittat ute på nätet, det jag undrar över är om jag behöver ha något program t ex MySQL installerat för att köra denna koden? För som det är nu fungerar det inte för följande fel dyker upp:

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

Koden för Connection ser ut så här:

	Set MyConn=Server.CreateObject("ADODB.Connection")
	MyConn.Open "PROVIDER=MSDASQL;" & "DRIVER={Microsoft Access Driver (\*.mdb)}; " & "DBQ=" & MyLoginDB
	'-------- Build Fields to be inserted into SQL Statement) -------'
	MySQL="Insert into UserData (UserCode, Password"..........osv
Medlem sedan juni 200032 967 inlägg
#2

det är insertfrågan det är fel på, inte connectionstringen.

hur ser hela din insertfråga ut?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan dec. 19998 577 inlägg
#3

Precis som felmeddelandet påpekar så är det fel i SQL-strägnen... visa hela den.

Lättast för dig att se vad som är fel är att skriva ut SQL-strängen innan du exekverar den:

MySQL="Insert into UserData (UserCode, Password"..........osv
Response.write MySQL

------------------
Jourhavande @e SweQuake.com

Medlem sedan dec. 1999653 inlägg
#4

jag skulle tippa att de räcker om du klamrar ditt fält Password...
alltså typ:
MySQL="Insert into UserData (UserCode, [Password]"..........osv
men posta gärna hela din sql-sats om de inte funkar :)

------------------
nakoz :)

Medlem sedan jan. 2001200 inlägg
#5

Okidoki här kommer avsnittet! Tack för hjälpen förresten, superbra ställe det här!

	Set MyConn=Server.CreateObject("ADODB.Connection")
	MyConn.Open "PROVIDER=MSDASQL;" & "DRIVER={Microsoft Access Driver (\*.mdb)}; " & "DBQ=" & MyLoginDB
	'-------- Build Fields to be inserted into SQL Statement) -------'
	MySQL="Insert into UserData (UserCode, Password"
	If Len(Request.Form("Group")) \> 0 Then
		MySQL = MySQL & ", Group "
	End If
	If Len(Request.Form("IndividualAccess")) \> 0 Then
		MySQL = MySQL & ", IndividualAccess"
	End If
	MySQL = MySQL & ", Name"
	If Len(Request.Form("NickName")) \> 0 Then
		MySQL = MySQL & ", NickName"
	End If
	If Len(Request.Form("Email")) \> 0 Then
		MySQL = MySQL & ", Email"
	End If
	If Len(Request.Form("ExpirationDate")) \> 0 Then
		MySQL = MySQL & ", ExpirationDate)"
	Else
		MySQL = MySQL & ")"
	End If
	'-------- Build Data to be inserted into SQL Statement) -------'
	MySQL = MySQL & "VALUES ("
	MySQL = MySQL & "'" & Request.Form("UserCode") & "'" 
	MySQL = MySQL & ", '" & Request.Form("Password") & "'" 
	If Len(Request.Form("Group")) \> 0 Then
		MySQL = MySQL & ", '" & Request.Form("Group") & "'" 
	End If
	If Len(Request.Form("IndividualAccess")) \> 0 Then
		MySQL = MySQL & ", " & Request.Form("IndividualAccess")
	End If
	MySQL = MySQL & ", '" & Request.Form("Name") & "'" 
	If Len(Request.Form("NickName")) \> 0 Then
		MySQL = MySQL & ",' " & Request.Form("NickName") & "'" 
	End If
	If Len(Request.Form("Email")) \> 0 Then
		MySQL = MySQL & ",' " & Request.Form("Email") & "'"
	End If
	If Len(Request.Form("ExpirationDate")) \< 1 Then
		MySQL = MySQL & ")"
	Else
		tmpDate = Request.Form("ExpirationDate")
		theYear = Year(tmpDate)
		theMonth = Month(tmpDate)
		theDay = Day(tmpDate)
		theDate = theMonth & "/" & theDay & "/" & theYear
		MySQL = MySQL & ", '"
		MySQL = MySQL &  theDate
		MySQL = MySQL & "')"
	End If
	Set MyRs=MyConn.Execute(MySQL)
	MyConn.Close
	set MyConn=nothing 
	Redisplay = "Yes"
End If

End If

Medlem sedan dec. 1999653 inlägg
#6

testa som jag sa, att sätta klamrar kring password...

MVH

------------------
nakoz :)

Medlem sedan jan. 2001200 inlägg
#7

Tyvärr, klamrar hjälper inte!

Medlem sedan jan. 2000144 inlägg
#8

Följ nakoz råd och skriv ut SQL'en

Medlem sedan jan. 2001200 inlägg
#9

Okej, nu har jag skrivit ut SQL- strängen o den ser ut så här:

Insert into UserData (UserCode, Password, Group , Name)VALUES ('jglantz', '7837', 'Admin', 'jglantz')

Det ser väl okej ut eller?

Medlem sedan juni 200032 967 inlägg
#10

mellanslag före VALUES, dessutom har du använt minst ett reserverat ord som fältnamn, group. klamra alla dina fältnamn och peta in ett mellanslag så ser det ok ut.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan mars 20002 836 inlägg
#11

du måste ha ett mellanslag mellan ) och VALUES

... ) VALUES ...

cya

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

Medlem sedan jan. 2001200 inlägg
#12

Tack för hjälpen, det fungerar perfekt nu!

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)