Jag har nu 2 forms. Ett för att skriva in Information om tävlingar och ett för att ladda upp html filer med resultat.
<%
Case "addform"
%>
<form name="" method="post" action="Mall.asp?cmd=addsubmit">
Namn, Vad tävlingen heter.
<br>
<input type="text" name="Namn" size="50">
<br>
<br>
Datum, det datum då tävlingen ska spelas-.
<br>
<input type="text" name="Datum" size="50">
<br>
<br>
Jourspelare om någon finns annars lämnas detta blankt.
<br>
<input type="text" name="Jour" size="50">
<br>
<br>
Spelform, Typ Barometer, LAgtävling Imp, Across the Field.
<br>
<input type="text" name="Spelform" size="50">
<br>
<br>
Ansvarig, Ansvarig för tävlingen eller Tävlingsledare:<br>
<input type="text" name="Ansvarig" size="50">
<br>
<br>
Övrig Info, Om det behövs föranmälan eller om det är en annan dag än planerat.<br>
<input type="text" name="Anmarkning" size="50">
<br>
<br>
<input type="submit" value="Skicka">
</form>
<%
Case "addsubmit"
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "INSERT INTO Mall (Namn, Datum, Jour, Spelform, Ansvarig, Anmarkning) VALUES ('" & CharConvert(Request.Form("Namn")) & "', '" & CharConvert(Request.Form("Datum")) & "', '" & Request.Form("Jour") & "', '" & Request.Form("Spelform") & "', '" & Request.Form("Ansvarig") & "', '" & Request.Form("Anmarkning") & "')"
rs.Open SQL, OBJdbConnection, 3, 3
Response.Redirect("Mall.asp")
%>
Den koden använder jag för att skriva in information om tävlingar och lägga till nya tävlingar. För att ladda upp resultat använder jag följande kod:
<form method="post" enctype="multipart/form-data" action="mall.asp?cmd=resultat">
file:<br><input type=file name="fil"><p>
<input type=submit value="upload!">
</form>
<%
Case "resultat"
Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize 100000, True
Count = Upload.Save
Set File = Upload.Files("fil")
If Not File Is Nothing Then
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(".\databas\wbbas.mdb")
Set rs = Server.CreateObject("adodb.recordset")
Hash = File.MD5Hash
rs.Open "SELECT * from Upload WHERE Hash='" & Hash & "'", Connect, 2, 3
If Not rs.EOF Then
Response.Write "This file already exists in the database."
Response.End
End If
rs.Close
rs.Open "Upload", Connect, 2, 3
rs.AddNew
rs("FBlob") = File.Binary
rs("FNamn") = File.FileName
rs("FStor") = File.Size
rs("hash") = Hash
rs.Update
UdId= rs("UdId")
rs.Close
rs.Open "Mall", Connect, 2, 3
rs.AddNew
rs("FId") = FId
rs("FNamn") = File.FileName
rs.Update
Response.Write "File saved."
Else
Response.Write "File not selected."
End If
%>
Kan jag lägga ihop dom i samma form så att jag kan skriva in info om tävlingar utan att behöva ladda upp resultat eller ladda upp resultat om informationen redan finns om tävlingen ?
Ok nu har jag skrivit ihop det så att det fungerar att både skicka resultat och skriva info samtidigt. MEN!
Bara ett litet problem :) Jag använder ett download script för att besökarna ska kunna visa html sidan direkt i browsern utan att behöva spara den på disk först.
Den koden ser ut så här:
<%
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(".\databas\wbbas.mdb")
Set db = Server.CreateObject("ADODB.Connection")
db.Open Connect
SQL = "SELECT * FROM Mall where SmId = " & Request("SmId")
Set rs =db.Execute( SQL )
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("FNamn"))
Response.AddHeader "Content-Length", rs("FStor")
Response.BinaryWrite rs("FBlob")
%>
Men den vill inte funka x(
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'Id ='.
/wexiobridgen/download.asp, line 6
Måste jag ge filen 1 id och tävlingen 1 id ? hur löser jag detta ?
Jag har fixat så att det fungerar att lägga in filerna i databasen, jag har fixat så att det går ta bort dem och jag har fixat så det går att länken till filerna fungerar.
Men det som är knepigt nu är hur tusan ska man kunna ändra på något som är inlagt redan ?
Jag behöver ju hämta ID på det som är inlagt men ASPUpload så som jag kör det i "Lägg till ny" använder sig av rs.AddNew
och det fungerar inte när man ska uppdatera.
<a href="Mall.asp?cmd=editform&id=<%= rs1.fields("SmId")%>">Uppdatera</a>
<%
Case "editform"
Set rs1 = Server.CreateObject("ADODB.Recordset")
SQL1 = "SELECT * FROM Mall WHERE SmId =" & Request.QueryString("id")
rs1.Open SQL1, OBJdbConnection, 3, 3
%>
<form method="post" enctype="multipart/form-data" action="mall.asp?cmd=editsubmit">
<input type="hidden" name="SmId" value="<%= rs1.fields("SmId")%>">
Namn, Vad tävlingen heter.
<br>
<input type="text" name="SmNamn" value="<%= rs1.fields("SmNamn")%>" size="50">
<br>
<br>
Datum, det datum då tävlingen ska spelas.
<br>
<input type="text" name="SmDatum" value="<%= rs1.fields("SmDatum")%>" size="50">
<br>
<br>
Jourspelare om någon finns annars lämnas detta blankt.
<br>
<input type="text" name="SmJour" value="<%= rs1.fields("SmJour")%>" size="50">
<br>
<br>
Spelform, Typ Barometer, LAgtävling Imp, Across the Field.
<br>
<input type="text" name="SmForm" value="<%= rs1.fields("SmForm")%>" size="50">
<br>
<br>
Ansvarig, Ansvarig för tävlingen eller Tävlingsledare:<br>
<input type="text" name="SmAnsv" value="<%= rs1.fields("SmAnsv")%>" size="50">
<br>
<br>
Övrig Info, Om det behövs föranmälan eller om det är en annan dag än planerat.<br>
<input type="text" name="SmAnm" value="<%= rs1.fields("SmAnm")%>" size="50">
<br>
<br>
Resultat:
<br>
<input type=file name="FResultat">
<br>
<br>
<input type="submit" value="Skicka">
</form>
<%
Case "editsubmit"
Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize 100000, True
Count = Upload.Save
Set File = Upload.Files("FResultat")
If Not File Is Nothing Then
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(".\databas\wbbas.mdb")
Set rs = Server.CreateObject("adodb.recordset")
Hash = File.MD5Hash
rs.Open "SELECT * from Mall WHERE Hash='" & Hash & "'", Connect, 2, 3
If Not rs.EOF Then
Response.Write "This file already exists in the database."
Response.End
End If
rs.Close
rs.Open "Mall", Connect, 2, 3
rs.AddNew
rs("SmId") = Upload.Form("id")
rs("FBlob") = File.Binary
rs("FNamn") = File.FileName
rs("FStor") = File.Size
rs("hash") = Hash
rs("SmNamn") = Upload.Form("SmNamn")
rs("SmDatum") = Upload.Form("SmDatum")
rs("SmJour") = Upload.Form("SmJour")
rs("SmForm") = Upload.Form("SmForm")
rs("SmAnsv") = Upload.Form("SmAnsv")
rs("SmAnm") = Upload.Form("SmAnm")
rs.Update
Response.Redirect("Mall.asp")
Else
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(".\databas\wbbas.mdb")
Set rs = Server.CreateObject("adodb.recordset")
rs.Open "Mall", Connect, 3, 3
rs.Update
rs("SmId") = Upload.Form("SmId")
rs("SmNamn") = Upload.Form("SmNamn")
rs("SmDatum") = Upload.Form("SmDatum")
rs("SmJour") = Upload.Form("SmJour")
rs("SmForm") = Upload.Form("SmForm")
rs("SmAnsv") = Upload.Form("SmAnsv")
rs("SmAnm") = Upload.Form("SmAnm")
rs.Update
Response.Redirect("Mall.asp")
End If
%>
Skulle ju starkt tro att jag måste ändra lite på denna koden... ersätta rs.AddNew på något sätt... men jag vet verkligen inte hur!
129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17