[ mmilinca @ 07.11.2005. 10:38 ] @
Imam vrlo specifican zadatak.

U upotrebi je aplikacija bazirana na access bazi. Iz nje su mi potrebni odredjeni podaci, koje moram da koristim u svojoj aplikaciji koja se bazira na mysql bazi. Kako se izmene podataka obavljaju u access bazi ,nije moguce da samo uzmem iz nje tabelu koja mi treba i ubacim je u svoju win aplikaciju
Ovaj koncept je nepromenjiv - sefova ideja


Evo nesto koda:
Code:

Dim upit As String = "SELECT prva,druga,treca  FROM zaMysql"
        Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\User\My Documents\db1.mdb")
        Dim mojaKomanda As New OleDbCommand(upit, myConnection)
        Dim a, b, c As String
        myConnection.Open()
        Dim myReader As OleDbDataReader
        myReader = mojaKomanda.ExecuteReader()
       While myReader.Read()
        
            a = myReader.GetString(0)
            b = myReader.GetString(1)
            c = myReader.GetString(2)
            
            'deo koda koji upisuje podatke dobijene iz access-a u mysql bazu
            Dim conn As New MySqlConnection
            Dim prva As String
            Dim myCommand As New MySqlCommand
            conn.ConnectionString = "database=vezba1"
            myCommand.Connection = conn
            myCommand.CommandText = "REPLACE INTO izAccessa  VALUES(?element1,?element2,?element3)"
            myCommand.Parameters.Add("?element1", a)
            myCommand.Parameters.Add("?element2", b)
            myCommand.Parameters.Add("?element3", c)
            Try
                conn.Open()
                myCommand.ExecuteNonQuery()
            Catch myerror As MySqlException
                MsgBox("Doslo je do greske pri upisu u bazu: " & myerror.Message)
            End Try

        End While


Resio sam problem, HVALA na savetima koji pomazu

[Ovu poruku je menjao mmilinca dana 07.11.2005. u 13:20 GMT+1]

[Ovu poruku je menjao mmilinca dana 08.11.2005. u 13:44 GMT+1]
[ jablan @ 07.11.2005. 10:57 ] @
Pliz pliz počni da koristiš code tagove.

Šta tačno hoćeš da uradiš sa tim podacima iz Aksesa?

Da li ti radi posao da ideš red po red u datasetu izvučenom iz Aksesa i da ga ubacuješ u MySQL?
[ mmilinca @ 07.11.2005. 12:24 ] @

Moze i ubacivanje u mysql bazu red po red iz tabele.
Access aplikacija radi vec godinama i jedan tip podataka mi je potreban za rad u mojoj aplikaciji(to je u sustini rezultat jednog upita vraca 10 kolona), ja treba da to upisem u mysql bazu i koristim za svoj rad
[ jablan @ 07.11.2005. 12:44 ] @
Citat:
mmilinca: Moze i ubacivanje u mysql bazu red po red iz tabele.

So, šta tu nije jasno? Napraviš MySqlCommand, iteriraš red po red u source datasetu izvučenom iz Aksesa, u okviru svakog reda iteriraš po poljima sloga i dodaješ ih kao parametre MySQL upitu, pozoveš upit i sve ispočetka.
Sve to uokviriš u jednu transakciju, ako MySQL to uopšte omogućava, i to bi trebalo da bude sve.
[ mmilinca @ 08.11.2005. 09:07 ] @
To mi nije jasno.
Kako da u data setu izdvajam polje po polje, kojom komandom.
U mysql je to ExecuteScalar, koja je analogna u access-u?
[ jablan @ 08.11.2005. 09:47 ] @
Citat:
mmilinca: Kako da u data setu izdvajam polje po polje, kojom komandom.
U mysql je to ExecuteScalar, koja je analogna u access-u?

Ne, ne. ExecuteScalar služi za dovlačenje jedne vrednosti iz baze, a ne dataseta. Obnovi malo gradivo, šta je DataSet, šta je DataTable itd. Ti već dovlačiš DataSet, odnosno DataTable iz baze. Kad već imaš tabelu, kreni u njoj red po red (pomoću for).

Štaviše bolje ti je da koristiš DataReader nego DataSet, ali o tom potom.