/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
problemer med database...
Fra : schutz.dk


Dato : 14-11-01 12:18

Hejsa!

Jeg sidder og laver en formular hvor input smides i en access 2000
database... Formularen sender data videre til "send.asp" der indeholder:

<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("../fpdb/new_page_2.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "Select * From Results"
rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

rs.AddNew
rs("firstvisit") = Request.form("firstvisit")
rs("graphics") = Request.form("graphics")
rs("frequency") = Request.form("frequency")
rs("ourproductsbuy") = Request.form("ourproductsbuy")
rs.Update

rs.Close
Set rs = Nothing

Conn.Close
set Conn = Nothing
%>

Problemet er at jeg får en fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]Error in row
send.asp, line 40
(der svarer til linien med rs.Update...) Hvad kan der være galt?

vh
Jake



 
 
schutz.dk (14-11-2001)
Kommentar
Fra : schutz.dk


Dato : 14-11-01 15:07

Hej igen,

kan det være fordi jeg vil tilføje FOR mange data til databasen på en gang
at fejlen opstår?
"schutz.dk" <info@schutz.dk> wrote in message
news:0psI7.22$ia7.53277904@news.orangenet.dk...
> Hejsa!
>
> Jeg sidder og laver en formular hvor input smides i en access 2000
> database... Formularen sender data videre til "send.asp" der indeholder:
>
> <%
> Const adOpenKeyset = 1
> Const adLockOptimistic = 3
>
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ="
&
> Server.MapPath("../fpdb/new_page_2.mdb")
>
> Set rs = Server.CreateObject("ADODB.RecordSet")
> strSQL = "Select * From Results"
> rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
>
> rs.AddNew
> rs("firstvisit") = Request.form("firstvisit")
> rs("graphics") = Request.form("graphics")
> rs("frequency") = Request.form("frequency")
> rs("ourproductsbuy") = Request.form("ourproductsbuy")
> rs.Update
>
> rs.Close
> Set rs = Nothing
>
> Conn.Close
> set Conn = Nothing
> %>
>
> Problemet er at jeg får en fejl:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [Microsoft][ODBC Microsoft Access Driver]Error in row
> send.asp, line 40
> (der svarer til linien med rs.Update...) Hvad kan der være galt?
>
> vh
> Jake
>
>



Anders Holbøll (14-11-2001)
Kommentar
Fra : Anders Holbøll


Dato : 14-11-01 16:25

"schutz.dk" wrote:
>
> Jeg sidder og laver en formular hvor input smides i en access 2000
> database... Formularen sender data videre til "send.asp" der indeholder:
> [Recordset benyttes til opdatering]
> <%
> Const adOpenKeyset = 1
> Const adLockOptimistic = 3
>
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
> Server.MapPath("../fpdb/new_page_2.mdb")
>
> Set rs = Server.CreateObject("ADODB.RecordSet")
> strSQL = "Select * From Results"
> rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
>
> rs.AddNew
> rs("firstvisit") = Request.form("firstvisit")
> rs("graphics") = Request.form("graphics")
> rs("frequency") = Request.form("frequency")
> rs("ourproductsbuy") = Request.form("ourproductsbuy")
> rs.Update
>
> rs.Close
> Set rs = Nothing
>
> Conn.Close
> set Conn = Nothing
> %>
>
> Problemet er at jeg får en fejl:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [Microsoft][ODBC Microsoft Access Driver]Error in row
> send.asp, line 40
> (der svarer til linien med rs.Update...) Hvad kan der være galt?

Du kunne starte med at lade være med at benytte et recordset til
opdateringen og så skal du nok lige checke en gang til, at de fire
felter i databasen (firstvisit, graphics, frequency og ourproductsbuy)
virkelig *er* tekstfelter:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _
Server.MapPath("../fpdb/new_page_2.mdb")
Conn.Execute "INSERT results " & _
"(firstvisit, graphics, frequency, ourproductsbuy) VALUES (" & _
StrToSql(Request.form("firstvisit")) & "," & _
StrToSql(Request.form("graphics")) & "," & _
StrToSql(Request.form("frequency")) & "," & _
StrToSql(Request.form("ourproductsbuy")) & ")"

Function StrToSql(ByVal s)
If Trim("" & s) = "" Then
StrToSql = "NULL"
Else
StrToSql = "'" & Replace(s, "'", "''") & "'"
End If
End Function

--
Anders

Søg
Reklame
Statistik
Spørgsmål : 177507
Tips : 31968
Nyheder : 719565
Indlæg : 6408569
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste