Har problem med att uppdatera en SQL-databas med ASP, en del av koden: Detta... Du anropar inte ditt recordset ifrån din kod. Varför öppnar du den då? Skickar med hela koden nu... Jag tycker det ser lite knäppt ut med: Jo ungefär så där var jag också på gång ett tag, men skulle vilja köra utan RecordSet-metoden och köra med SQL-fråga...typ Du måste använda recordsetet för att hämta informationen. Uppdateringen gör du sedan med en SQL fråga. Färg heter den. Och efter att ha kollat och provat lite så verkar det som att det är när man trycker på knappen och sidan laddas om som det blir fel med "KnappString". Om det finns mer än 99 bilar då. Blir inte identiteten tre siffrig? MEd denna lösning kan du lätt få problem. jo jag vet men...annars kan jag väl använda session på något sätt för att få med värdet från föregående sida... Varför inte skicka det namngivet? jo just det...efter lite felsökning och grejjande och donande så var en miss jag hade gjort var att "EditSwe.asp?val=chang" inte fick något värde från föregående sida. När jag gav den ett värde så funkade det efter vissa andra ändringar helt ok, några smärre ändringar bara. Men jag är inte klar efter det så jag hör säkert av mig igen.Problem med update
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open Application("Connection1_ConnectionString"), Application("Connection1_RuntimeUserName"), Application("Connection1_RuntimePassword")
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Source="SELECT * Tillverkare FROM bilar"
%>
<%
SET RecSet=connect.execute("SELECT * FROM bilar WHERE BilID LIKE '" & KnappString & "'") 'KnappString är värde från en annan sida & jag får rätt värde
%>
<FORM ACTION="EditSwe.asp?val=change" METHOD="POST" id=form1 name=form1>
<input TYPE="submit" NAME="Edit" VALUE ="Update ">
<% If Request.QueryString("val") = "change" Then %>
UpdateString="UPDATE bilar set Tillverkare = '" & Request.Form("text1") & "' Modell = '" & Request.Form("text2") & "' Farg = '" & Request.Form("text3") & "' Antal = '" & Request.Form("text4") & "' Pris = '" & Request.Form("text5") & "' WHERE BilID = KnappString"
connect.Execute UpdateString
connect.Close
%>
<%
RecSet.Close
End If
<%
'Connect.Close
RecSet.Close
%>
</code>
Hoppas detta räckerSv: Problem med update
Error Type:
ADODB.Field (0x80020009)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.Sv: Problem med update
Har du glömt bifoga koden som hämtar värde från ditt recordset?
Det är det som ger fel för att ditt recordset är tomt.Sv: Problem med update
<code>
<%@ Language=VBScript %>
<!-- #include virtual="adovbs.inc"-->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY bgcolor="lightblue">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open Application("Connection1_ConnectionString"), Application("Connection1_RuntimeUserName"), Application("Connection1_RuntimePassword")
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Source="SELECT * Tillverkare FROM bilar"
%>
<%
Dim KnappString
KnappString = Mid((Request.Form()),6,2) ' Tar det sjätte tecknet som start och ger två tecken. Dvs,BilID-siffran
Response.Write (KnappString) ' Ett test.Skriver ut två siffror = BilID
%>
<P>
<BR>
<BR>
<%
SET RecSet=connect.execute("SELECT * FROM bilar WHERE BilID LIKE '" & KnappString & "'")
%>
<FORM ACTION="EditSwe.asp?val=change" METHOD="POST" id=form1 name=form1>
<TABLE style="WIDTH: 75%" cellSpacing=3 cellPadding=3 width="75%" align=center bgColor=lightblue background="" border=3>
<TR>
<TD>
<STRONG><FONT color=#006400><U>Brand</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Model</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Color</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Quantity</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Price excl VAT</U>
</TD>
</FONT></STRONG>
</TR>
<TR>
<TD>
<INPUT name=text1 value = "<% =RecSet("Tillverkare") %>">
</TD>
<TD>
<INPUT name=text2 value = "<% =RecSet("Modell") %>">
</TD>
<TD>
<INPUT name=text3 value = "<% =RecSet("Farg") %>">
</TD>
<TD>
<INPUT name=text4 value = "<% =RecSet("Antal") %>">
</TD>
<TD>
<INPUT name=text5 value = "<% =RecSet("Pris") %>">
</TD>
</TR>
</TABLE>
</P>
<BR>
<BR>
<input TYPE="submit" NAME="Edit" VALUE ="Update ">
<% If Request.QueryString("val") = "change" Then %>
UpdateString="UPDATE bilar set Tillverkare = '" & Request.Form("text1") & "' Modell = '" & Request.Form("text2") & "' Färg = '" & Request.Form("text3") & "' Antal = '" & Request.Form("text4") & "' Pris = '" & Request.Form("text5") & "' WHERE BilID = KnappString"
connect.Execute UpdateString
connect.Close
'RecSet.Update %>
<%
RecSet.Close
End If
%>
</FORM>
<%'Connect.Close
RecSet.Close
%>
</BODY>
</HTML>Sv: Problem med update
KnappString = Mid(Request.Form(),6,2)
Vad heter fältet färg eller farg i databasen?
<code>
<%@ Language=VBScript %>
<!-- #include virtual="adovbs.inc"-->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY bgcolor="lightblue">
<P>
<BR>
<BR>
<%
Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Value & "'"
Else
SQLText = "Null"
End If
End Function
Dim RecSet
Dim Connect
Dim KnappString
'Tar det sjätte tecknet som start och ger två tecken. Dvs,BilID-siffran
KnappString = Mid(Request.Form(),6,2)
'Ett test.Skriver ut två siffror = BilID
Response.Write KnappString
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open Application("Connection1_ConnectionString"), Application("Connection1_RuntimeUserName"), Application("Connection1_RuntimePassword")
If Request.Form("Action") = "Update" Then
UpdateString = "UPDATE bilar SET Tillverkare = " & SQLText(Request.Form("Tillverkare")) & ", Modell = " & SQLText(Request.Form("Modell")) & ", Färg = " & SQLText(Request.Form("Farg")) & ", Antal = " & SQLText(Request.Form("Antal")) & ", Pris = " & SQLText(Request.Form("Pris")) & " WHERE BilID = " & SQLText(Request.Form("BilID"))
connect.Execute UpdateString
End If
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open "SELECT * FROM bilar WHERE BilID = " & SQLText(KnappString), connect
If RecSet.Eof Then
Reponse.Write "Posten är ej funnen: """ & KnappString & """
Else
%>
<FORM ACTION="" METHOD="POST" id=form1 name=form1>
<INPUT type=hidden name=BilID value = "<%=RecSet("BilID")%>">
<TABLE style="WIDTH: 75%" cellSpacing=3 cellPadding=3 width="75%" align=center bgColor=lightblue background="" border=3>
<TR>
<TD>
<STRONG><FONT color=#006400><U>Brand</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Model</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Color</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Quantity</U>
</TD>
<TD>
<STRONG><FONT color=#006400><U>Price excl VAT</U>
</TD>
</FONT></STRONG>
</TR>
<TR>
<TD>
<INPUT name=Tillverkare value = "<% =RecSet("Tillverkare") %>">
</TD>
<TD>
<INPUT name=Modell value = "<% =RecSet("Modell") %>">
</TD>
<TD>
<INPUT name=Farg value = "<% =RecSet("Farg") %>">
</TD>
<TD>
<INPUT name=Antal value = "<% =RecSet("Antal") %>">
</TD>
<TD>
<INPUT name=Pris value = "<% =RecSet("Pris") %>">
</TD>
</TR>
</TABLE>
</P>
<BR>
<BR>
<input TYPE="submit" NAME="Action" VALUE ="Update">
</FORM>
<%
End If
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>
</BODY>
</HTML>
</code>Sv: Problem med update
Sv: Problem med update
Sv: Problem med update
Problemet är att jag måste ta emot ett värde från föregående sida, och detta värde är olika beroende på vilken knapp man har tryckt på på den andra sidan. Om ni förstår. Sv: Problem med update
Sv: Problem med update
Sv: Problem med update
KnappString = Request.Form("bilId")
Eller:
KnappString = Request.QueryString("bilId")Sv: Problem med update
Jätte tack för hjälpen och förslagen så här långt