Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:02 Der er 17 kommentarer og
1 løsning

gem i db på en windowsform

Hej eksperter

Jeg programmere normalt i webapp, og mit problem er nu at gemme på en winform, jeg har noget kode som virker på en webfform, men kan ikke få den til at virke på en winform, hvad gør jeg forkert???

Har følgende kode:

Sub GemIDatabase()

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

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

        ' Skab forbindelses-objekt udfra connectionStr
        con = New OleDbConnection(connectionStr)

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

        ' Opbyg SQL-kommando
        cmd.CommandText = "INSERT INTO freelance (navn, antalProjekterPrUge)"
        cmd.CommandText += " VALUES (@navn, @antalProjekterPrUge)"

        cmd.Parameters.Add("@navn", OleDbType.VarChar).Value = txtNavn.Text
        cmd.Parameters.Add("@antalProjekterPrUge", OleDbType.VarChar).Value = txtAntal.Text


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

    End Sub

    Private Sub Opret_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Opret.Click
        GemIDatabase()
    End Sub
Avatar billede kaffe Nybegynder
30. januar 2005 - 10:10 #1
Nu skriver du ikke hvad du får af fejl, men jeg ville skifte

Request.PhysicalApplicationPath
ud med
Application.StartupPath
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:11 #2
har selvfølgelig følgende øverst:

Private con As OledbConnection    ' Forbindelse-objekt til databasen
    Private cmd As OledbCommand      ' kommando-objekt
    Private sort As String
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:18 #3
den giver fejl når den når ned til con.Open()
Avatar billede arne_v Ekspert
30. januar 2005 - 10:24 #4
Prøv og udskriv connectionStr og se om der mangler en \ eller noget ligeså
banalt
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:24 #5
Har rettet til følgende:

connectionStr += Application.StartupPath + "D:\PMS\PMS\Database\db.mdb"

ser ud til at den ikke kan åbne/finde ????
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:27 #6
den får kun fat på følgende d:\pms\pms\bin
Avatar billede arne_v Ekspert
30. januar 2005 - 10:28 #7
Jeg tror altså at du der får lagt directory ind i strengen to gange - og det er
ikke dobbelt så godt
Avatar billede arne_v Ekspert
30. januar 2005 - 10:28 #8
Men udskriv nu den  connectionStr, så tyror jeg at du har løst problemet på under
1 minut !
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:30 #9
det er hvad jeg får når jeg udskriver min connectionstr: d:\pms\pms\bin

lige meget hvad jeg ændre stien til så skriver den det samme???
Avatar billede arne_v Ekspert
30. januar 2005 - 10:32 #10
Prøv lige:

connectionStr += (Application.StartupPath + "D:\PMS\PMS\Database\db.mdb")
Avatar billede arne_v Ekspert
30. januar 2005 - 10:32 #11
Men den rigtige er nok:

connectionStr += "D:\PMS\PMS\Database\db.mdb"
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:34 #12
så giver den fejl i writeline
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:35 #13
den giver fejl på WriteLine(connectionStr)
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 10:53 #14
problemet er at den går ind i stien D:\PMS\PMS\bin\ i stedet for at gå ind i D:\PMS\PMS\Database\db.mdb og det er lige meget hvad jeg skriver i stien. Tror jeg skal bruge noget andet end Application.StartupPath, men hvad????
Avatar billede burningice Nybegynder
30. januar 2005 - 12:00 #15
du skal slet ikke bruge andet end D:\PMS\PMS\Database\db.mdb

du har jo skrevet den fulde sti til databasen, så den behøves du ikke at gøre noget ved.
Avatar billede peanut2000 Nybegynder
30. januar 2005 - 13:00 #16
jo for det virker ikke, når jeg køre en debug.writeline på connectionstr er stien D:\PMS\PMS\bin\????
Avatar billede burningice Nybegynder
30. januar 2005 - 13:23 #17
Dim connString As String = "D:\PMS\PMS\Database\db.mdb"

Debug.WriteLine(connString)

den skriver D:\PMS\PMS\bin\ ud ?

Prøv lige at paste din kode som den er nu
Avatar billede peanut2000 Nybegynder
15. juli 2005 - 23:36 #18
Har løst problemet det var min sys-fil der var fucked up
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