[ mmilinca @ 05.11.2005. 07:56 ] @


Ideja potrebna!!!


Razvijam win aplikaciju, ne web.
Zelim na formi preko DataGrid-a da prikazem rezultat nekog upita iz mysql baze.(uspeo sam), zelim da korisniku omogucim azuriranje prikazanih podataka, naravno i promene u tabelama u bazi shodno tome. Da li je moguce u prikazanom DataGrid menjati podatke i te promene upisati u bazu.

Pozdrav od dosadnog pocetnika
[ Oliver Klaćik @ 05.11.2005. 16:28 ] @
Ako si DataGrid 'vezao' za DataSet, a DataSet 'puniš' preko DataAdapter-a, dovoljna je naredba DataAdapter.Update(DataSet) da bi se podaci (i eventualne promene) zapisali nazad u bazu.
[ mmilinca @ 07.11.2005. 13:27 ] @
Ok, to mi je jasno ali taj update se odnosi na ceo upit ciji sam rezultat ranije prikazao ili mogu da update-ujem samo kolone koje naznacim

Code:

Dim catDA As SqlDataAdapter = New SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", nwindConn)

catDA.UpdateCommand = New SqlCommand("UPDATE Categories SET CategoryName = @CategoryName " & _
                                     "WHERE CategoryID = @CategoryID", nwindConn)

catDA.UpdateCommand.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15, "CategoryName")

Dim workParm As SqlParameter = catDA.UpdateCommand.Parameters.Add("@CategoryID", SqlDbType.Int)
workParm.SourceColumn = "CategoryID"
workParm.SourceVersion = DataRowVersion.Original

Dim catDS As DataSet = New DataSet
catDA.Fill(catDS, "Categories")  

Dim cRow As DataRow = catDS.Tables("Categories").Rows(0)
cRow("CategoryName") = "New Category"

catDA.Update(catDS)




Ovo je primer za access, da li je odgovarajuci koncept i za my sql.
Daj malo koda ako imas nesto slicno

[Ovu poruku je menjao mmilinca dana 07.11.2005. u 14:31 GMT+1]
[ boki @ 08.11.2005. 10:22 ] @
Update-uju se sva polja koja su promenjena. Moguce je i oznaciti neka da se ne menjaju i to se radi preko onih statusa polja u dataset-u.