[ djmrky @ 19.05.2005. 11:19 ] @
Da li je i kako moguce izvuci iz DataSet-a strukturu baze tj. dobiti tipove polja i jos bitnije DUZINE pojedniacnih podataka

npr svi podaci u tabeli su tekstualni podaci i meni trebaju duzine tih polja onako kako su definisane u bazi

Pozdrav
[ djmrky @ 19.05.2005. 12:07 ] @
...ili eventualno malo drukcije formulisan problem: hocu da iz jedne mdb baze kopiram odredjenu tabelu u drugi mdb (naravno porgramski u c#-u)

[ dusty @ 19.05.2005. 12:15 ] @
Mozda dataAdapter.FillSchema( ....)
Ili da se setas po kolekciji Columns sa foreach.
[ djmrky @ 19.05.2005. 12:28 ] @
hm... ali ja moram u toj novoj bazi da kreiram novu tabelu (sa istom semom kao source tabela), a ne znam drugi nacin da kreiram novu tabelu osim preko SQL-a, a tom upitu treba da budu definicije novih kolona (npr....... char(x), .......). E pa meni fali ova "x" da znam koliku kolonu treba da kreiram
[ mmix @ 19.05.2005. 14:52 ] @
Nazalost, ne mozes preko dataset-a.
To je moja glavna zamerka implementaciji XSDova u .NETu. Iako sve te informacije postoje u trenutku kad se formira shema dataset-a, i iako za sve te informacije postoje polja u XSD-u, sve se to jednostavno ignorise i SQL tipovi podataka se prepeglaju u .net tipove. Izgube se relacije, contraints, velicine i duzine tipove, preciznosti numerickih tipova, identity polja i njihovi seedovi i incrementi, itd, itd.

Dal im je opravdanje optimizacija kreiranja sheme ili su jednostavno lenji, nemam pojma, ali znam da je (bar zakljucno sa BETA 2), samo deo ovoga ukljucen u visual studio 2005: ubaceno je maxlength (koji tebi treba ) za stringove i ubacene su automatske relacije iz baze (ako na xsd prebacite dve povezane tabele) i to je to.

[ djmrky @ 20.05.2005. 07:33 ] @
e da pronasao sam ja taj MaxLength ali on mi vraca vrednost -1, ajde probacu jos malo oko toga, bar znam da je oko toga "vruce".

btw, sta je XSD?
[ mmix @ 20.05.2005. 13:05 ] @
XSD (Xml Schema Definition) je xml dokument koji definise dataset. Za takav dataset si sigurno cuo ranije kao "tipizirani dataset".

U trenutku kad netipizirani (blanko) dataset napunis podacima preko adaptera, adapter po defaultu kreira onoliko elemenata u shemi dataseta koliko mu je potrebno da smesti podatke koji su stigli, prosto receno, tipizira ga :)
Takav dataset (koji ti imas), moze da eksportuje svoju trenutnu semu kao XSD fajl. Ako taj fajl posle dodas u projekat kao sors i promenis mu status u "dataset", dobijas tipizirani dataset sa sve pozadinskom klasom.

Zasto je to dobro? Iz vise razloga. Najcesce korisceni je da polja postaju svojstva. I onda umesto da kucas ds.Tables["Tabela1"].Rows[0]["PeraPoljeInt"] i dobijes referencu na Object (boxovani int), kucas ds.Tabela1.Rows[0].PeraPolje i dobijes int value tip.


[ negyxo @ 20.05.2005. 18:35 ] @
Nemoj se mnogo muciti sa .NET-om. Ovo pitanje si mozda trebao postaviti na access forumu. Imas SQL naredbu koju mozes iskoristi za kopiranje jedne tabele u drugu bazu.
Naredba ide ovako

Code:

SELECT * INTO [naziv tabele u buzu u koju kopiras] IN [putanja do te druge baze]  FROM [naziv tabele iz baze koju kopiras]


primer
SELECT * INTO Test1 IN 'C:\test.mdb'' FROM MojaTabela


E sad, ovo kopira samo strukturu i podatke za relacije mislim da ne. To ces morati malo da odradis preko koda.