Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Ongelma tietokantayhteydessä (VB2008 & Access 2010)

Sivun loppuun

highwater [03.11.2010 18:47:30]

#

Osaisiko joku neuvoa (siis vääntää rautalangasta) Visual Studio 2008 tietokantayhteyden ongelman suhteen? Siis.. WindowsFormsApplicationiin haetaan tiedot Access-tietokannasta. Tietojen haku suoritetaan käyttämällä Data Sourcesia. Tietokannan tiedot näkyy formilla oikein ja niiden selaus toimii. Tällä hetkellä yhdellä formilla näytetään vain yhden taulun tiedot. Tietokantaan ei ole asetettu käyttäjätunnusta/salasanaa.

Lisää/poista/muokkaa-toimintoihin käytän Binding Navigatoria, jonka Visual Studio luo automaattisesti, kun Data Sourcen tiedot lisätään formille. Ongelmana on, etteivät formilla tehdyt muutokset tallennu tietokantaan ollenkaan. Päivitetyt tiedot näkyvät formilla oikein, kunnes Visual Studio käynnistetään uudestaan. Eli siis V.Studion uudelleenkäynnistys hävittää uudet/päivitetyt ötallennetutö tiedot, ikään kuin tiedot tallentuisivat vain jonnekin väliaikaiseen muistiin. Mistähän tämä mahtaa johtua? Itse en enää keksi, mikä tähän olisi ratkaisuna. :/

Grez [03.11.2010 19:20:28]

#

MSDN:stä

Try
    Me.Validate()
    Me.CustomersBindingSource.EndEdit()
    Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
    MsgBox("Update successful")

Catch ex As Exception
    MsgBox("Update failed")
End Try

highwater [04.11.2010 11:05:59]

#

Kokeilin tuota koodia, mutta eihän siitä ole mitään hyötyä. Tietokannan päivitys onnistuu "periaatteessa", joten tuo msgBox-viestikin sen niin ilmoittaa. Uudet ja päivitetyt tiedot näkyvät niin kauan, kunnes suljen Visual Studion. Uudelleenkäynnistyksen jälkeen kaikki uudet/päivitetyt tiedot ovat hävinneet. Tämä on siis se ongelma, miksi tiedot "tallentuvat" mutta häviävät kun VS suljetaan?

Rypsi [04.11.2010 11:21:35]

#

Moikka,
Jos en väärin muista niin törmäsin samaan ongelmaan, ongelma ratkesi kun poistin "väliaikaisen tietokannan" Vb:n solution explorerista, ja käytin ihan aitoa kantaa polun päästä.
T.Mika

highwater [04.11.2010 12:58:21]

#

Osaisitko neuvoa tarkemmin, miten tuon "väliaikaisen tietokannan" saa poistettua? Mistä edes tiedän, mikä on väliaikainen tietokanta? Minulle saa tosiaan vääntää rautalangasta ja piirtää kuvan yms. ;)

Grez [04.11.2010 14:10:14]

#

Tarkoittaisikohan Huh-hellettä, että jos sisällytät .mdb-tiedoston projektiin, niin silloinhan se kopioi sen käännöksen yhteydessä käännöshakemistoon (tyyliin bin\x86\Release\ ) ja ohjelma mahdollisesti käyttää sitä sieltä. Tällöin se myös korvataan aina uudestaan alkuperäisellä kun käännät uudestaan.

Rypsi [04.11.2010 14:27:59]

#

Juurikin näin Grez, solution explorerissa sinulla on näkyvissä vain väliaikainen .mdb kanta, ja sen voi poistaa, vb ilmoittaa seuraavan kääntämisen yhteydessä jos kantaa ei löydy määritetystä polusta, silloin kopioit itse sen kannan sinne. Näin minä tein ja sen jälkeen ei ollut enään noita ongelmia.
Ota kuitenkin varmuuskopio ensin projektistasi ennen kuin poistat.
Poista siis Solution explorerista kannannimi.mdb, mutta älä poista mitään Data sources ikkunasta

Grez [04.11.2010 15:02:05]

#

Solution explorerissa voi myös valita kannan kohdalle "Do Not Copy". Muistaakseni oletuksena on "Copy always". Houkutus olisi suuri valita "Copy only if newer", mutta oman kokemuksen mukaan se ei eroa "Copy always" valinnasta.

highwater [04.11.2010 15:02:45]

#

Tietokantani on muotoa .accdb. Toimiikohan tuo kannan poistaminen Solution Explorerista kuitenkin?

Kokeilin äskettäin, ilmeneekö ongelma ohjelman julkaisuversiossa, ja kas, kaikki toimii niinkuin pitääkin. :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta