Avatar billede chrlyck Nybegynder
24. april 2004 - 22:42 Der er 13 kommentarer og
2 løsninger

ADODB "insert into"

Hej eksperter...

Jeg har en velfungerende hjemmeside som jeg lige har fået webhotel og domæne til. Problemet er så at jeg altid har brugt OleDbConnection, og har derfor slet ikke styr på det ADODB som jeg har en opfattelse af er det eneste jeg kan bruge...

Efter en del søgning på nettet har jeg konstateret at det ikke er noget jeg lige ordner på 2 minutter, derfor ser jeg lige om der ikke skulle være nogle herinde der lige kan lave følgende SQL-kald om så det spiller med ADODB og ikke OleDb.

Koden ser sådan her ud:

        Dim connectionStr As String  ' Forbindelses-streng til databasen
        Dim con As System.Data.OleDb.OleDbConnection    ' Forbindelse-objekt til databasen
        Dim cmd As System.Data.OleDb.OleDbCommand      ' kommando-objekt

        ' Opbyg connectionStr
        connectionStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
        connectionStr += Request.PhysicalApplicationPath + "db\db.mdb"

        ' Skab forbindelses-objekt udfra connectionStr
        con = New System.Data.OleDb.OleDbConnection(connectionStr)

        ' Skab kommando-objekt og tilknyt til forbindelses-objekt
        cmd = New System.Data.OleDb.OleDbCommand
        cmd.Connection = con

        ' Opbyg SQL-kommando
        cmd.CommandText = "INSERT INTO Bruger (Brugernavn, Adgangskode, Email, Oprettelsesdato, Brugertype)"
        cmd.CommandText += " VALUES (@brugernavn, @adgangskode, @email, @oprettelsesdato, @brugertype)"

        cmd.Parameters.Add("@brugernavn", System.Data.OleDb.OleDbType.VarChar).Value = txtBrugernavn.Text
        cmd.Parameters.Add("@adgangskode", System.Data.OleDb.OleDbType.VarChar).Value = txtPassword.Text
        cmd.Parameters.Add("@email", System.Data.OleDb.OleDbType.VarChar).Value = txtEmail.Text
        cmd.Parameters.Add("@oprettelsesdato", System.Data.OleDb.OleDbType.Date).Value = Date.Now.TimeOfDay.ToString()
        cmd.Parameters.Add("@brugertype", System.Data.OleDb.OleDbType.VarChar).Value = "Admin"

        con.Open()              ' Åben forbindelsen til databasen
        cmd.ExecuteNonQuery()  ' Udfør kommando (SQL-streng)
        con.Close()            ' Luk forbindelsen

Håber det er til lige at klare...?

På forhånd (mange !) tak.

/Chr.
Avatar billede arne_v Ekspert
24. april 2004 - 23:46 #1
Skal du have ovenstående VB.NET/OleDb kode omskrevet til ASP/VBScript/ADODB ?
Avatar billede chrlyck Nybegynder
25. april 2004 - 00:49 #2
omskrevet til VB.NET/ADODB, hvis det er muligt... :/

Eksempel:
http://www.vbdotnetheaven.com/Code/Jul2003/2129.asp

Jeg har kigget lidt der, og nogle andre steder, men det virker som om det ikke er særlig populært at skrive på den måde, og jeg har da som sagt også altid brugt OleDb.

Jeg er ikke ekspert på det område, men skulle mene at det asp/vbscript/adodb er noget (helt?) andet.

Håber det er til at finde ud af. Jeg kan først kigge her igen i morgen formiddag.
Avatar billede arne_v Ekspert
25. april 2004 - 00:54 #3
ASP/VBScript/ADODB er noget helt andet.

Men jeg forstå ikke hvorfor.

Det andet er noget man bruger hvis man har kode som bruger ADODB og skal
hurtigt porteres til .NET

Men du har jo rigtigt .NET kode - og jeg kan ikke rigtigt forestille mig
at de har fjernet OleDb fra .NET på den server ...
Avatar billede chrlyck Nybegynder
25. april 2004 - 08:32 #4
Hmm, det lyder mærkeligt...

Jeg var ellers meget sikker på at det var derfor det ikke virkede...
Avatar billede chrlyck Nybegynder
25. april 2004 - 08:34 #5
btw. det web10...
Avatar billede chrlyck Nybegynder
25. april 2004 - 08:36 #6
Det er herfra jeg har min ide...

http://www.web10.dk/help/faq/windows_mysql_access
Avatar billede chrlyck Nybegynder
25. april 2004 - 09:33 #7
Jeg får fejlen "Operation must use an updateable query."

Jeg tror det har noget at gøre med at den af en eller anden grund ikke har skriverettigheder til databasefilen. Den ligger i den rigtige mappe, men skal jeg gøre noget ekstra i min kode?
Avatar billede arne_v Ekspert
25. april 2004 - 10:13 #8
Der er ingen tvivl om at bruger man ASP, så skal man bruge ADODB.

Jeg er bare skeptisk overfor om man også skal fra ASP.NET ...
Avatar billede burningice Nybegynder
25. april 2004 - 17:05 #9
ovenstående FAQ er da også til ASP, har ingenting med ASP.Net at gøre !!

har du prøvet med ByteFX-driveren fremfor OleDb... ved ikke hvor godt det er til MySql (OleDb altså).
Avatar billede chrlyck Nybegynder
25. april 2004 - 17:35 #10
Hmm, jeg er kommet (indtil videre) frem til at jeg bare lader det være indtil mandag.

Jeg har et midlertidigt domæne kørende, og har på fornemmelsen, at det er der den er gal, og ikke så meget det kode jeg skriver, jeg kan heller ikke ændre i xml-filer, der siger den access denied...

Jeg lader spm stå.
Avatar billede chrlyck Nybegynder
25. april 2004 - 17:38 #11
Jeg ved godt at den faq er til asp, det er også derfor jeg er lidt fucked...

Grunden til jeg postede den faq var fordi at det var det der gjorde at jeg troede det var mig der dummede mig...
Avatar billede chrlyck Nybegynder
25. april 2004 - 19:17 #12
Jeg har netop lånt en vens domæne, og kan konstatere at alt fungerer som det skal der, det kører også hos web10, så hvis der er nogen i samme situation der forvilder sig ind på det her spørgsmål så kan man åbenbart slet ikke skrive eller læse til db før web10 har fået ens primære domæne op at køre...

Jeg takker for hjælpen (alle), jeg synes lige du skulle skrive et svar arne, så får du en slat points for besværet.
Avatar billede arne_v Ekspert
25. april 2004 - 19:21 #13
oki doki
Avatar billede arne_v Ekspert
25. april 2004 - 19:21 #14
svar
Avatar billede chrlyck Nybegynder
26. april 2004 - 19:44 #15
En lille rettelse... det har nu vist sig at man godt kan skrive til db osv inden det primære domæne kører, det er bare mit webhotel der er fucked, og det er snart 3 dage siden jeg fik det...
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