Avatar billede fjabboy Nybegynder
08. november 2001 - 21:27 Der er 7 kommentarer og
2 løsninger

Update af to tabeller i DB

Hej - jeg har problemer med at update 2 tabeller samtidig i DB\'en - nogen som kan hjælpe???
Koden ser sådan ud:
<% 
personnr        =Request.QueryString(\"Personnr\")
brugertype        =Request.form(\"Brugertype\")
navn            =Request.form(\"Navn\")
adresse            =Request.form(\"Adresse\")
postnr            =Request.form(\"Postnr\")
postdistrikt    =Request.form(\"Postdistrikt\")
telefonnr        =request.form(\"Telefonnr\")
email            =request.form(\"Email\")
oprettelsesdato =request.form(\"Oprettelsesdato\")
brugernr        =request.form(\"Brugernr\")
brugernavn        =request.form(\"Brugernavn\")
password        =request.form(\"Password\")
bankkontonr        =request.form(\"Bankkontonr\")


set dbMain = server.createobject(\"ADODB.Connection\")
dbMain.open \"gruppe63\"
Set rsPerson = Server.CreateObject(\"ADODB.recordset\")
Set rsBruger = Server.CreateObject(\"ADODB.recordset\")

updateSql1 = (\"UPDATE Person SET Personnr=\'\"& personnr &\"\', Brugertype=\'\"& brugertype &\"\', Navn=\'\"& navn &\"\', Adresse= \'\"& adresse &\"\', Postnr = \'\"& postnr &\"\', Telefonnr=\'\"& telefonnr &\"\', Email=\'\"& email &\"\', Oprettelsesdato=\'\"& oprettelsesdato &\"\' where Personnr = \'\"& personnr &\"\'\")
(!!!!her er linje 23!!!!) rsPerson.open updateSql1, dbMain, adopenkeyset, adlockoptimistic
updateSql2 = (\"UPDATE Bruger SET Brugernavn=\'\"& brugernavn &\"\', Password= \'\"& password &\"\', Bankkontonr= \'\"& bankkontonr &\"\', Personnr=\'\"& personnr &\"\', Brugertypenr=Brugertypenr where Brugernr LIKE \'\"& brugernr &\"\'\")
rsBruger.open updateSql2, dbMain, adopenkeyset, adlockoptimistic
   
dbMain.Close
set dbMain = Nothing
%>
Fejlmeddelelsen ser sådan ud:

ADODB.Recordset error \'800a0bb9\'

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

/opdater.asp, line 23
Avatar billede tmceu Praktikant
08. november 2001 - 22:28 #1
Er alle dine felter tekst-felter ? Dit SQL statement forudsætter at alle felter skal være tekst. Hvad med dato, er det oprettet som dato felt ? I så fald kan du prøve at erstatte \' med # rundt om dato feltet.
Avatar billede cool_casper Nybegynder
08. november 2001 - 22:28 #2
\"are in conflict with one another\"!

Siger det ikke nok! DU bør ikke have to connections open samtidig! Du burde kunne lave det om!

Avatar billede fjabboy Nybegynder
08. november 2001 - 22:35 #3
Har IKKE 2 connections open samtidig!
Har kun éen - der er derimod 2 recordsets...

Datofeltet er angivet som værende af datatypen \"datoformat\" i DB\'en, så det kan godt være det er her det går galt - tester lige...

\\fjabboy
Avatar billede fjabboy Nybegynder
08. november 2001 - 22:44 #4
Har sat samtlige feltangivelser som du sagde, men det fucker stadig up...flere forslag?
Har byttet string-angivelserne \' \' ud med ## - sådan:
Telefonnr=#\"& telefonnr &\"#
\\fjabboy

Avatar billede cool_casper Nybegynder
08. november 2001 - 22:46 #5
Prøv med:

Set rsPerson = nothing
Set rsBruger = nothing

Jeg plejer at bruge den når jeg lukker en db!

Avatar billede fjabboy Nybegynder
08. november 2001 - 23:00 #6
Har sku fundet ud af skidtet gutter!
Skulle bare medtage følgende, så virkede skidtet:

Const adOpenKeyset = 1
Const adLockOptimistic = 3

Ellers tak for hjælpen...

\\fjabboy
Avatar billede fjabboy Nybegynder
08. november 2001 - 23:01 #7
Har sku fundet ud af skidtet gutter!
Skulle bare medtage følgende, så virkede skidtet:

Const adOpenKeyset = 1
Const adLockOptimistic = 3

Ellers tak for hjælpen...

\\fjabboy
Avatar billede cool_casper Nybegynder
08. november 2001 - 23:11 #8
Takker for pointz!
Avatar billede tmceu Praktikant
09. november 2001 - 07:16 #9
Takker. Nu har du jo sikkert fundet ud af det, siden du fandt værdierne til dine konstanter. Men skulle du nu ikke vide det, kan du finde alle database relaterede konstanter i filen adovbs.inc
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester