Forum » Programiranje » [C#] ne dodaja podatkov v bazo
[C#] ne dodaja podatkov v bazo
alesp56 ::
S kolegom delava seminarsko v .netu, VS2005 in z Accessovo bazo. Uporabljava en DataSet za cel projekt in nato na posameznih formah BindingSource in TableAdapterje. V DataSetu sva naprej pripravila tableadapterje, ki jih potem kličeva na npr gumbih in vstavljava podatke(iz textboxov npr.) preko parametrov. Zadeva se prikaže v DataGridu in vse ok ampak ko se projekt v celoti zapre zadeve ne ostanejo v bazi. V čem je problem, zakaj zadeve ne inserta/updata v bazo? Kaka finta maybe?
in to je to...
[SkA] ::
DataSet je tvoja lokalna kopija zajetih podatkov, torej struktura v spominu. Ko to strukturo spreminjaš, še ne spreminjaš tudi podatkov v podatkovni bazi.
Lahko pa tudi sočasno izvedeš SQL stavek v bazi, ko spremeniš neko vrstico.
http://msdn2.microsoft.com/en-us/librar...
n a typical multiple-tier implementation, the steps for creating and refreshing a DataSet, and in turn, updating the original data are to:
1. Build and fill each DataTable in a DataSet with data from a data source using a DataAdapter.
2. Change the data in individual DataTable objects by adding, updating, or deleting DataRow objects.
3. Invoke the GetChanges method to create a second DataSet that features only the changes to the data.
4. Call the Update method of the DataAdapter, passing the second DataSet as an argument.
5. Invoke the Merge method to merge the changes from the second DataSet into the first.
6. Invoke the AcceptChanges on the DataSet. Alternatively, invoke RejectChanges to cancel the changes.
Lahko pa tudi sočasno izvedeš SQL stavek v bazi, ko spremeniš neko vrstico.
http://msdn2.microsoft.com/en-us/librar...
alesp56 ::
Sem poskušal z enim čisto enostavnim primerom šifranta (select, insert, update, delete; vse skupaj na eni tabeli v bazi), pa mi ni ratalo... Lahko to kdo še malo bol podrobno razloži?
in to je to...
darkolord ::
Najpogostejši problem je ta, da imaš Accessovo bazo includano v projektu in ti jo ob vsakam prevajanju/compilanju na novo skopira v Bin mapo... Klikni na access bazo v solution explorerju in nastavi nastavitev "Copy To Output Directory" na "Do not copy" (če še ni)
alesp56 ::
Super! Točno to je bil problem, baza je bila v glavni mapi in jo je ob zagonu skopiral v Debug, potem pa vse skup zbrisal in logično da ni blo v bazi nič. Thx!
in to je to...
alesp56 ::
Da nebom nove teme odpiral bom kar tu vprašal.
Torej uporabljam TableAdapterje in notri narejen query ki na podlagi parametra (id) vrne(select sql stavek) dve zadeve iz baze (ime, opis).
Kako oz. kaj klicat ko poženem ta query na TableAdapterju da bi mi napolnilo nek textbox z imenom in drugega z opisom? Treba kakšen DataTable napolnit ali kako?
Torej uporabljam TableAdapterje in notri narejen query ki na podlagi parametra (id) vrne(select sql stavek) dve zadeve iz baze (ime, opis).
Kako oz. kaj klicat ko poženem ta query na TableAdapterju da bi mi napolnilo nek textbox z imenom in drugega z opisom? Treba kakšen DataTable napolnit ali kako?
in to je to...
cekr ::
Na desni strani (vsaj jaz imam tako nastavljeno) imaš nad "Properties" odprt zavihek "Data Sources". Tam imaš prikazano celo drevo, ki je narejeno v "Data Set". Vsak atribut ima določen nek gradnik, ki pa ga lahko takoj spremeniš. Gradnik lahko kar potegneš na obrazec. S tem boš imel nastavljene vse potrebne povezave. Za sprehajanje med posameznimi vpisi pa uporabi en ComboBox.
Sinclair ZX Spectrum [Zilog Z80A - 3.5 MHz, 48kB, dvojni kasetofon,
TV-OUT, radirke, Sinclair-Basic], Sinclair ZX-81 [Z80A, 3.25MHZ, 1kB]
TV-OUT, radirke, Sinclair-Basic], Sinclair ZX-81 [Z80A, 3.25MHZ, 1kB]
alesp56 ::
Sej ubistvu mam en combobox ki je bindan na tisto tabelo ki jo uporabljam in z njim dobim id. Katerega bi potem uporabil v tistem selectu in pobral zadeve ven. Ampak nevem kako dobit ven nek field oz. neko vrednost.
in to je to...
cekr ::
Pa malo drugače. Praviš, da imaš Combobox že vezan na tabelo. Potem na obrazec potegni še dva TextBoxa.
Pri lastnostih za TextBox poišči (Data Bindings) in pod text nastavi vezavo na določen atribut tabele.
To je vse.
Pri lastnostih za TextBox poišči (Data Bindings) in pod text nastavi vezavo na določen atribut tabele.
To je vse.
Sinclair ZX Spectrum [Zilog Z80A - 3.5 MHz, 48kB, dvojni kasetofon,
TV-OUT, radirke, Sinclair-Basic], Sinclair ZX-81 [Z80A, 3.25MHZ, 1kB]
TV-OUT, radirke, Sinclair-Basic], Sinclair ZX-81 [Z80A, 3.25MHZ, 1kB]
alesp56 ::
Še enkrat hvala... par klikov pa stvar rešena js bi pa napisal 15 vrstic kode, pa pomožnosti še delalo nebi
in to je to...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# težavaOddelek: Programiranje | 3713 (2559) | mladec |
» | vb mysql dataset updateOddelek: Programiranje | 1240 (1120) | korenje3 |
» | Baza & c#Oddelek: Programiranje | 4156 (3214) | xardas |
» | razložitev nekaterij elementov v visual studio 05Oddelek: Programiranje | 2106 (1911) | darkolord |
» | [C#] DATA GRID VIEWOddelek: Programiranje | 1941 (1821) | Kekec |