Avatar billede jacand Nybegynder
20. februar 2003 - 13:53 Der er 11 kommentarer og
4 løsninger

Indsæt i sql

Jeg prøver at blive dus med ms-sql men jag kan ikke lige få nedenstående kode til at virke.
Den oprettet godt nok en ny post og sætter også now() ind, men hvordan får jeg den til at sætte tekst ind i g_navn ?

<!-- #include file="DB.asp" -->
<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set rs3 = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM indlaeg WHERE (g_id = 0)"
rs3.Open SQL, strDSN4, adOpenKeyset, adLockOptimistic
rs3.addnew
rs3.update
rs3("g_brugerid") = 1
rs3("g_navn") = "test"
rs3("g_tid") = now()
rs3.update
rs3.close
set rs3 = nothing
%>
Avatar billede longshanks Nybegynder
20. februar 2003 - 13:55 #1
ved at bruge rs3.updateBatch efter alle dem der skal opdateres, istedet for rs3.update
Avatar billede longshanks Nybegynder
20. februar 2003 - 13:57 #2
sorry wrong answer
Avatar billede longshanks Nybegynder
20. februar 2003 - 13:57 #3
tror du skal fjerne den øverste rs3.update
Avatar billede mortvader Nybegynder
20. februar 2003 - 14:00 #4
conn.execute "insert into indlaeg (g_brugerid,g_navn,g_tid) values (1,'test','"&now&"')"
Avatar billede longshanks Nybegynder
20. februar 2003 - 14:02 #5
Det burde altså virke uden sql strengen, selvom sql´en er hurtigere
Avatar billede jacand Nybegynder
20. februar 2003 - 14:08 #6
ja det hjalp at fjerne den første rs3.update:-)
Men kan du give en forklaring på hvorfor man ikke kan bruge rs3.update flere gange med sql, det virker jo fint på en access database?
Jeg kan nemlig se at der opstår et problem når jeg skal bruge
id = rs3("id")
rs3("g_brugerid") = id
rs3.Update
Avatar billede jacand Nybegynder
20. februar 2003 - 14:09 #7
mortvader>> Ja den virker. men jeg er ved at flytte en database fra access til sql og jeg er ikke meget for at skulle lave hele koden om.
Avatar billede longshanks Nybegynder
20. februar 2003 - 14:14 #8
Jeg har ladrig brugt mere end en update pr rs3.addNew....er ikke helt sikker på jeg ved hvad du mener ;)
Avatar billede jacand Nybegynder
20. februar 2003 - 14:19 #9
Når man bruger access kan man lave følgende

rs.AddNew ’opretter en ny post
rs.update ’ opretter den nye post i databasen
nu har du fået en post med én ID og hvis du vil have brugerid til at være = id bruger man:
id = rs("id")
rs("brugerid") = id
rs.Update
det var det jeg gerne ville kunne med sql
Avatar billede longshanks Nybegynder
20. februar 2003 - 14:22 #10
Har jeg desværre ingen erfaring med, kan kun gætte på hvad det kan være.....Desværre
Avatar billede eagleeye Praktikant
20. februar 2003 - 14:58 #11
Hvad hvis du bytter lidt rundt på rækkefølgen:

rs3.Open SQL, strDSN4, adOpenKeyset, adLockOptimistic
rs3.addnew
rs3("g_navn") = "test"
rs3("g_tid") = now()
rs3.update
rs3("g_brugerid") = rs3("id")
rs3.update
rs3.close
Avatar billede jacand Nybegynder
20. februar 2003 - 15:24 #12
eagleeye>> det virker heller ikke, så jeg må finde på noget andet :-)
Avatar billede hossein Nybegynder
20. februar 2003 - 16:15 #13
måske det kan hjælpe. du skal ændre denne linie:
rs3.Open SQL, strDSN4, adOpenKeyset, adLockOptimistic
til:
rs3.Open SQL, strDSN4, 3, 3
i mssql virker også med:
rs3.Open SQL, strDSN4, 1, 1
Avatar billede jacand Nybegynder
20. februar 2003 - 22:15 #14
Ok nu fik jeg knækket den :-)
Fejlen lå i at id have typen int og brigerid havde type text, jeg rettede brugerid fra text til int og vupti så virker det.
Avatar billede jacand Nybegynder
20. februar 2003 - 22:17 #15
Og en sjat point for jeres hjælp, dog flest til mig da jeg løste problemet :-)
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