webForumDet fria alternativet

Den uppdaterar inte SQL

12 svar · 324 visningar · startad av Thompa__85

Thompa__85Medlem sedan aug. 2002600 inlägg
#1

Hejsan!
har ett problem..
denna kod:

	RecSet.AddNew
	RecSet("anv")=request.form("anv")
	RecSet("los")=request.form("los")
	RecSet("rekryt")=request.form("rek")
	RecSet.Update
	RecSet.Close
	
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("databas/databas.mdb")
sql = "Update anv Set antalrek = antalrek + "& 1 &" Where anv= '"& request.form("rek") &"' "
Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing

Det där med att jag vill att den ska uppdatera antalrek.. det gör den inte.. varför?

Jesper TMedlem sedan nov. 20017 144 inlägg
#2
sql = "Update anv Set antalrek = antalrek + 1 Where anv= '"& request.form("rek") &"'"
Thompa__85Medlem sedan aug. 2002600 inlägg
#3

Jesper T skrev:

sql = "Update anv Set antalrek = antalrek + 1 Where anv= '"& request.form("rek") &"'"

Har lagt in den, men den uppdaterar ändå inte :S vet ej varför.. någon som vet?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Visa hur din kod ser ut nu.

Thompa__85Medlem sedan aug. 2002600 inlägg
#5

@nders skrev:

Visa hur din kod ser ut nu.

här kommer den...

Addera = "Select * From anv "
RecSet.Open Addera, Connect, 3, 3

	RecSet.AddNew
	RecSet("anv")=request.form("anv")
	RecSet("los")=request.form("los")
	RecSet("rekryt")=request.form("rek")
	RecSet("reggad")=now
	RecSet("alder") = "00:00:00"
	RecSet("hemsida") ="Okänt"
	RecSet("bor") ="Okänt"
	RecSet("kon") ="Okänt"
	RecSet("civil") ="Okänt"
	RecSet("msn") ="Okänt"
	RecSet("namn") ="Okänt"
	RecSet("bild") ="bilder/1.jpg"
	RecSet.Update
	RecSet.Close
	
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("databas/databas.mdb")
sql = "Update anv Set antalrek = antalrek + 1 Where anv= '"& request.form("rek") &"'"
Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing

Hajjar du?

mikulMedlem sedan aug. 20013 824 inlägg
#6

Det är inte så klyfftigt att öppna ett redan öppet objekt.

RecSet.Open Addera, [b]Connect[/b], 3, 3

Set [b]Connect[/b] = Server.CreateObject("ADODB.Connection") 
[b]Connect[/b].Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("databas/databas.mdb")

Måste äta nu... Men visa lite mer kod, även formulärkoden...
Plus att du kan testa att skriva ut sql-frågan med response.write för att lättare kunna hitta felet...

Thompa__85Medlem sedan aug. 2002600 inlägg
#7

Okej, här kommer lite kod:
Formuläret:

<form name="form1" method="post" action="spara_medlemr.asp" onsubmit="return checkCheckBox(this)">
<b>Anv&auml;ndarnamn:<br>
  <input name="anv" type="text" id="anv" class=ruta onChange="javascript:this.value=this.value.toHigherCase();" onBlur="validate(this)" size="20">
  <br>
  </b><i>(4-12 tecken)</i><b><br>
  L&ouml;sen:<br>
  <input name="los" type="password" id="los" class=ruta onBlur="validate(this)" size="20">
  <input name="rek" type="hidden" size="20" value="<%=vem%>">

  <br>Jag accepterar:&nbsp; 
  <input type="checkbox" value="0" name="agree"><br>
  <input type="submit" name="Submit" value="Spara" class=ruta>
  <input type="button" value="Avbryt" onclick="document.location.href='index.asp';">
  </b>p>
</form>

Sen bifogar jag hela spara_medlemr.asp.. inte så mycke kod, enbast ASP iallafall.. jätte tacksam om ni kan lista ut vad jag gör för fel.. Tack!

Mvh Adde

mikulMedlem sedan aug. 20013 824 inlägg
#8

Hur såg sqlfrågan ut om du skrev ut den?

'Connect
	SQL = "Select * From anv "
	RecSet.Open SQL, Connect, 3, 3

	RecSet.AddNew
		RecSet("anv")=request.form("anv")
		RecSet("los")=request.form("los")
		RecSet("rekryt")=request.form("rek")
		RecSet("reggad")=now
		RecSet("alder") = "00:00:00"
		RecSet("hemsida") ="Okänt"
		RecSet("bor") ="Okänt"
		RecSet("kon") ="Okänt"
		RecSet("civil") ="Okänt"
		RecSet("msn") ="Okänt"
		RecSet("namn") ="Okänt"
		RecSet("bild") ="bilder/1.jpg"
	RecSet.Update
	RecSet.Close
	

	sql = "Update anv Set antalrek = antalrek + 1 Where anv= '"& request.form("rek") &"'"
	Response.write(SQL)
	Response.end()
	Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing
Thompa__85Medlem sedan aug. 2002600 inlägg
#9

mikul skrev:

Hur såg sqlfrågan ut om du skrev ut den?

'Connect
	SQL = "Select * From anv "
	RecSet.Open SQL, Connect, 3, 3

	RecSet.AddNew
		RecSet("anv")=request.form("anv")
		RecSet("los")=request.form("los")
		RecSet("rekryt")=request.form("rek")
		RecSet("reggad")=now
		RecSet("alder") = "00:00:00"
		RecSet("hemsida") ="Okänt"
		RecSet("bor") ="Okänt"
		RecSet("kon") ="Okänt"
		RecSet("civil") ="Okänt"
		RecSet("msn") ="Okänt"
		RecSet("namn") ="Okänt"
		RecSet("bild") ="bilder/1.jpg"
	RecSet.Update
	RecSet.Close
	

	sql = "Update anv Set antalrek = antalrek + 1 Where anv= '"& request.form("rek") &"'"
	Response.write(SQL)
	Response.end()
	Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing

Så här:
Update anv Set antalrek = antalrek + 1 Where anv= 'Thomsson'

mikulMedlem sedan aug. 20013 824 inlägg
#10

Testa detta en gång:

'Connect
	sqlInsert = "[b]insert[/b] into anv(anv, los, rekryt, reggad, alder, hemsida, bor, kon, civil, msn, namn, bild)"_
	& " Values('"& request.form("anv") &"', '"& request.form("los") &"', '"& request.form("rek") &"', '"& now() &"',"_
	& "'okänt', 'okänt', 'okänt', 'okänt', 'okänt', 'okänt', 'bilder/1.jpg');" 

	sqlUpdate = "Update anv Set antalrek = cInt(antalrek + 1) Where trim(lcase(anv) = '"& trim(lcase(request.form("rek"))) &"';"

	Connect.Execute(sqlInsert),,128
	Connect.Execute(sqlUpdate),,128

	
	'Response.write(SQL)
	'Response.end()
	Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing
Thompa__85Medlem sedan aug. 2002600 inlägg
#11

mikul skrev:

Testa detta en gång:

'Connect
	sqlInsert = "inser into anv(anv, los, rekryt, reggad, alder, hemsida, bor, kon, civil, msn, namn, bild)"_
	& " Values('"& request.form("anv") &"', '"& request.form("los") &"', '"& request.form("rek") &"', '"& now() &"',"_
	& "'okänt', 'okänt', 'okänt', 'okänt', 'okänt', 'okänt', 'bilder/1.jpg');" 

	sqlUpdate = "Update anv Set antalrek = cInt(antalrek + 1) Where trim(lcase(anv) = '"& trim(lcase(request.form("rek"))) &"';"

	Connect.Execute(sqlInsert),,128
	Connect.Execute(sqlUpdate),,128

	
	'Response.write(SQL)
	'Response.end()
	Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing

Nytt fel:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Number of query values and destination fields are not the same.

/2/spara_medlemr.asp, line 36

mikulMedlem sedan aug. 20013 824 inlägg
#12

Kolla igen, har redigerat koden ;)

mikulMedlem sedan aug. 20013 824 inlägg
#13

Missade ett fält... Kan ha med dyslexin att göra ;)

'Connect
	sqlInsert = "[b]insert[/b] into anv(anv, los, rekryt, reggad, alder, hemsida, bor, kon, civil, msn, namn, bild)"_
	& " Values('"& request.form("anv") &"', '"& request.form("los") &"', '"& request.form("rek") &"', '"& now() &"',"_
	& "'00:00:00', 'okänt', 'okänt', 'okänt', 'okänt', 'okänt', 'okänt', 'bilder/1.jpg');" 

	sqlUpdate = "Update anv Set antalrek = cInt(antalrek + 1) Where trim(lcase(anv)) = '"& trim(lcase(request.form("rek"))) &"';"

	Connect.Execute(sqlInsert),,128
	Connect.Execute(sqlUpdate),,128

	
	'Response.write(SQL)
	'Response.end()
	Connect.Execute(sql),,128
Connect.Close
Set Connect = Nothing
129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)