webForumDet fria alternativet

hjälp med svårt SQL

ASP

11 svar · 302 visningar · startad av Frexuz

Medlem sedan maj 2003138 inlägg
Frågan#1

http://tsn.dk/p/?id=1336

där kan ni se hela min kod..
--------------------------------------------
funktion:
först hämtar jag alla mina (65!!) recordset in i input-fält...
ändrar vissa om jag vill..
sen vill jag uppdatera allt

det e alltså min 'Insert into' som inte fungerar.
-------------------

felmeddelande på rad: 372

Åtgärden är inte tillåten när objektet är öppet

rs.Open SQL, MinCon, 1, 2 <---- den raden

Medlem sedan jan. 20032 285 inlägg
#2

Testa att ändra det till det här, om det bara är en INSERT INTO du gör:

MinCon.Execute(SQL),,128
Medlem sedan sep. 20026 425 inlägg
#3

Ditt Recordset är ju fortfarande öppet. ;)

Den här koden är vettigare:

<html> 
<head> 
<title>Bracket</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<link rel="stylesheet" href="styles/default.css"> 
<body bgcolor="#999999" text="#cccccc" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> 
<% 
Set MinCon = Server.CreateObject("ADODB.Connection") 
Set rs = Server.CreateObject("ADODB.RecordSet") 

MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("..\..\db\ra3cup.mdb") 

Set Rs = minCon.Execute("SELECT * from playoff") 
%> 

<!--

här är all HTML

-->

<%

Rs.Close : Set Rs = Nothing
minCon.Close : Set minCon = Nothing

if request.querystring("do") = "change" then 

Set MinCon = Server.CreateObject("ADODB.Connection") 
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("..\..\db\ra3cup.mdb") 

SQL = "INSERT INTO playoff (clan1" 
For lngTemp = 2 To 65 
  SQL = SQL & ",clan" & lngTemp 
Next 
SQL = SQL & ") VALUES (" & rs("clan1") 
For lngTemp=2 to 65 
  SQL = SQL & "," & rs("clan" & lngTemp) 
Next 
SQL = SQL & ")" 

[b][red]Set Rs = minCon.Execute(SQL),,128[/red][/b]

Rs.Close : Set Rs = Nothing
minCon.Close : Set minCon = Nothing
End if 
%> 
</body> 
</html>
Medlem sedan apr. 20003 174 inlägg
#4

Du har redan öppnat ditt recordset, på rad 16.
Du måste stänga det innan du kan öppna det på nytt..

Medlem sedan maj 2003138 inlägg
#5

Slut på programsats förväntas.
/ra3cup/admin/edit/editbracket.asp, line 375, column 28
Set Rs = minCon.Execute(SQL),,128

efter sql)

Medlem sedan juni 200032 967 inlägg
#6

Du ska inte ha paranteser där.

Mvh

Medlem sedan jan. 20032 285 inlägg
#7

Du kan inte använda ett Recset tillsammans med 128. Skriv bara

minCon.Execute(SQL),,128

Det är i alla fall vad jag tror problemet beror på. :)

Medlem sedan maj 2003138 inlägg
#8

hur blir det då`?

Medlem sedan juni 200032 967 inlägg
#9

Om man kombinerar mitt och Sebbes inlägg så borde det alltså se ut så här:

minCon.Execute SQL,,128
Medlem sedan maj 2003138 inlägg
#10

Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/ra3cup/admin/edit/editbracket.asp, line 366

denna:

SQL = SQL & ") VALUES (" & rs("clan1")

Medlem sedan dec. 20002 526 inlägg
#11

nagot du vill plocka ut som ar knasigt, kontrollera namn.

Medlem sedan maj 2003138 inlägg
#12

har gjort typ 6-7 gånger redan

256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)