webForumDet fria alternativet

Databasen uppdateras inte! =(

ASPur ASP

6 svar · 140 visningar · startad av hyperD

Medlem sedan dec. 20006 inlägg
Frågan#1

Hoppas att det finns någon vänlig själv som har lust att hjälpa mig med följande
problem, hittade en kodsnutt i en bok här hemma för att göra ett forum,
allting funkar, nästan, hur mycket jag än skriver och har mig så kommer det
nämligen inte in något inlägg i databasen. Någon som kan kolla vad felet är?

<!--# INCLUDE FILE="Adovbs.Inc" -->

<%
id = Request.Querystring("inlaggID")

oldamne = Request.Querystring("amne")
upd = Request.Form("dummy")

If Len(upd) > 0 Then

If Len(oldamne) \> 0 Then
  samne = oldamne

Else
samne = Request.Form("Amne")
End If

snamn = Request.Form("Namn")
sepost = Request.Form("Epost")
sinlagg = Request.Form("Inlagg")

End If
%>

<form method="post"
action="skapa_inlagg.asp?inlaggID=<%=id%>&Amne=<%=Server.URLEncode(oldamne)%
>" name="inlagg">
<a href="forum.asp">tillbaka till forumet</a>

<%
If Len(upd) > 0 Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=d:\hotell\www\rby\johannis\db\bredband.mdb"
Set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = Conn
ssql = " Insert Into forum (did,amne,orig,namn,epost,inlagg,datum) values
(?,?,?,?,?,?,?) "
Response.Write ssql & "<br>"
Cmd.CommandText = ssql
Cmd.CommandType = adCmdText
Response.Write "id = " & id & " <br> "
If Len(id) < 1 Then id = "0"
Set prm = Cmd.CreateParameter (,adVarChar,,Len(samne),samne)
cmd.Paratmeters.Append prm
If Len(oldamne) > 0 Then
Sorig = False
Else
Sorig = True
End If
Set prm = Cmd.CreateParameter (,adBoolean ,,,cBool(Sorig))
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adVarChar ,,Len(snamn),snamn)
Cmd.Parameters.Append prm
If NOT (Len(sepost) > 0) Then sepost = "ingen adress"
Set prm = Cmd.CreateParameter (,adVarChar ,,Len(sepostn),sepost)
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adVarChar ,,Len(sinlagg),sinlagg)
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adDBDate ,,,date)
Cmd.Parameters.Append prm
Conn.BeginTrans
If Len(oldamne) > o Then
supdate = "Update forum Set Antal = Antal + 1, senaste = #" & date
supdate = supdate & "# Where IID = " & id
Response.Write supdate & " <br> "
Conn.Execute supdate
End If
Response.Write "Params: "
For z = 0 To Cmd.Parameters.Count -1
Response.Write Cmd.Paramteres.Item(z).Value & " "
Next
Response.Write "<br>"
Cmd.Execute
Conn.CommitTrans
Response.Write "Sparad"

Else
%>

Ämne:
<%
If Len(oldamne) > 0 Then
Response.Write oldamne
%>

<input type="hidden" name="Amne" size="20" Value="<%=oldamne%>">

<% else %>

<input type="text" Name="Amne" size="20">

<% end if %>

Namn: <input type="text" Name="namn" size="20">
<br>
Epost: <input type="text" Name="Epost" size="20">
<br>
Inlägg: <textarea rows="4" Name="Inlagg" Cols="40"></textarea>
<input type="hidden" Name="dummy" size="20">
<input type="submit" Value="Skicka" Name="B1">
<input type="Reset" Value="Återställ" Name="Reset">

</form>

<% end if %>

Medlem sedan dec. 200021 inlägg
#2

Gör det lite enklare för dig:

set con=server.createobject("adodb.connection")
con.open "mindsn","user","pw"

ssql = " Insert Into forum (did,amne,orig,namn,epost,inlagg,datum) values
(did,'" & amne & "','" & orig & "') "

con.execute ssql

------------------
Pelle Johanssson (www.pellesoft.nu)

Medlem sedan dec. 20006 inlägg
#3

ok, vad kan jag ta bort? och vad ska jag sätta in detta? *undrar*

tack!

Medlem sedan dec. 20006 inlägg
#4

provade att ändra

ssql = " Insert Into forum (did,amne,orig,namn,epost,inlagg,datum) values
(?,?,?,?,?,?,?) "

till det du sa, men fortfarande händer ingenting =( kollade även på din sida, där fanns ett forum, men hmm.. verkar va allt för "stort" för att jag ska behöva det, det enda jag vill ha är, ett enkelt forum, där man kan läsa inlägg, skriva ett nytt och besvara. ska de va så svårt =(

Medlem sedan dec. 20006 inlägg
#5

jag gav upp hoppet med den där forumet, provade en annan kodsnutt, men då så
får jag ett annat felmeddelande, nämligen.

ADODB.Recordset error '800a0cb3'
The operation requested by the application is not supported by the provider.
/johannis/bredband/forum/laggtill.asp, line 26

på följande kodsnutt:

<%
Dim RSAddMessage
Dim SQL
Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=d:\hotell\www\rby\johannis\db\bredband_forum.mdb"
SQL = "SELECT * FROM forum WHERE 1=2"
Set RSAddMessage = Conn.Execute (SQL)
%>

<%
RSAddMessage.AddNew <---------------------------------
rad 26
RSAddMessage("amne") = Request.Form("txtAmne")
RSAddMessage("namn") = Request.Form("namn")

  If Request.Form("epost") \> 0 Then
  RsAddMessage("epost") = Request.Form("epost")
  Else
  RsAddMessage("epost") = "ingen adress"
  End If

RsAddMessage("inlagg") = Request.Form("txtInlagg")
RsAddMessage("datum") = Now()

   If Request.Querystring("id") \> 0 Then
   RsAddMessage("orig") = TRUE
   Else
   RsAddMessage("orig") = FALSE
   End If

   If Request.Querystring("id") \> 0 Then
   supdate = "Update forum set antal = antal + 1, senaste = #" & Now() &

"# Where IID = " & Request.Querystring("id")
Conn.Execute supdate
End If

RsAddMessage.Update
%>

kan någon hjälpa mig med hur jag ska skriva för att det ska funka, eller något annat sätt man kan göra det på så att det fungerar?

mvh / hyperD

Medlem sedan dec. 200021 inlägg
#6

Om du skall använda .AddNew och .Update så måste du öppna recordsetet på ett annat sätt.. Läs även de kurser jag skrivit på SAND OnLine för att förstå skillnaderna..

rst.open "tabell", con, 3, 3

------------------
Pelle Johanssson (www.pellesoft.nu)

Medlem sedan dec. 20006 inlägg
#7

tackar för hjälpen! men i slutändan så visade sig att mitt webhotell helt plöstligt ändrat så jag inte hade några skrivrättigheter till databasen =(

136 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)