Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 8 odgovora
  • 3.122 pregleda

Najnovija ↓

visual studio 2010 data source 07.05.2011. u 12:12 · pre 188 meseci #1
do sad sam radio sa access bazom, i hteo sam da napravim manju aplikaciju i malo eksperimentisem sa malom SDF bazom.

isao sam na add new datasource

izabrao Database

pa Dataset

napravio tabele, postavio relacije.

Samo mi jedno nije jasno.

Da li u kodu opet moram da formiram konekcije, recordset-e, datasete, adaptere ili sve ovo imam kao objekte sa obzirom da sam ih formirao u samom projektu?

Nikako ne mogu da nadjem objekte ove baze koju sam formirao, reko da ne pokusavam sa konekcijom dok se ne posavetujem ovde?

puno hvala!
Re: visual studio 2010 data source 08.05.2011. u 12:55 · pre 188 meseci #2
Moze biti da je pod nekim error-rom ili pod drugacijim namespace-om pa zato ne mozes da dobijes tableadapter,datatable iz tvog dataset..
Re: visual studio 2010 data source 10.05.2011. u 13:55 · pre 188 meseci #3
mozes li mi dati prost primer - ako zamislimo da smo kreirali Dataset preko wizarda, i da u projektu imamo fajl 1.sdf kako iz koda manipulisati objektima koji sadrze te podatke?

Ili moramo u kodu deklarisati nov dataset pa ka povezati sa ovim?

Hvala puno!
Re: visual studio 2010 data source 10.05.2011. u 15:00 · pre 188 meseci #4
Na vrhu koda proveri keyword:

namespace tvoj_projekat

postoji svuda, ako dodas folder onda tvoj_projekat.tvoj_folder, i da ga tako prozivas(npr. ako je tvoj DataSet u folderu)

Neki put ne mozes da dobijes code completition za db objekte(dole) ako nije uradjen rebuild projekta, a build moze da omane ako postoji greska u npr. DataSet.Designer.cs

Evo dva slucaja kada je sve OK:
1. kada navlacis datasource-eve na form
2. kada radis sa nekom prostom klasom koja moze da ti bude business logika

1. slucaj: imas na formu tvoj_DataSet(ref. Tvoj_DataSet), tvojatabelaBindingSource, tvojatabelaTableAdapter. Ovo se najcesce kreira automatski kada biras DataSource za neku kontrolu u WinForm aplikaciji.

NPR. Inicijalizacija podataka
private void tvojForm_Load(object sender, EventArgs e)
{
//init data
this.tvojatabelaTableAdapter.Fill(this.tvoj_DataSet.tvojatabela);
}

NPR. Snimanje podataka
private void save()
{
//update client data
try
{
tvojatabelaBindingSource.EndEdit();

}
catch (System.Exception err)
{
MessageBox.Show(err.ToString());
tvojatabelaBindingSource.CancelEdit();
return;
}
//commit to db
try
{
tvojatabelaTableAdapter.Update(tvoj_DataSet.tvojatabela);
}
catch (System.Data.SqlClient.SqlException err)
{
MessageBox.Show(err.ToString());
return;
}
tvoj_DataSet.AcceptChanges();
}

2. slucaj u nekoj klasi(ne klasi koja je uz Form)

NPR. citanje podataka
//tableadapter
Tvoj_DataSetTableAdapters.tvojatabelaTableAdapter tvojatabelaTA=new Tvoj_DataSetTableAdapters.tvojatabelaTableAdapter();
//datatable dobijanje kolekcije rezultata
Tvoj_DataSet.tvojatabelaDataTable tvojatabelaDT=tvojatabelaTA.GetData();//daj sve podatke, default select query
//kretanje kroz kolekciju rezultata
foreach (Tvoj_DataSet.tvojatabelaRow tvojRow in tvojatabelaDT)
{
int id=tvojRow.id;
string ime=tvojRow.ime;
//i tako dalje u zavsnosti koja polja si definisao u original tabeli
}

Inace rad sa bazama moze na mnogo nacina i zavisi od afiniteta, naredjenja, verzije net framework-a i/ili od nekog ne MS (3rd party) framework-a.
Ovo gore vazi za minimum .net 2.0..
Re: visual studio 2010 data source 11.05.2011. u 18:03 · pre 188 meseci #5
hvala puno, pomoglo mi je, ono sto sam trebao da uradim je da prevucem dataset na formu, ja sam mislio da samim kreiranjem baze da ce se kreirati i objekti.

Da ne otvaram novu temu jos jedno pitanje, kada sam radio sa access bazom , radio sam preko recordset-a query ako mi treba neka vrednost.

da li postoji jednostavniji nacin da ako imam tabelu sa kolonom sifra i naziv, da dobijem naziv po datoj sifri k a da ne radim recordset i query select where.

znaci meni treba vrednost u drugoj koloni koja odgovara vrednosti recimo 112 u prvoj koloni.
nesto u fazonu dataset1.tabela1.vrativrednost(kolona1,vrednost,kolona2)

pretpostavljam da ima ali ne mogu nikako da nadjem.

puno hvala
Re: visual studio 2010 data source 11.05.2011. u 19:08 · pre 188 meseci
izmenjeno 2 puta, poslednji put dejanet 12.05.2011. u 09:15
  1. dejanet12.05.2011. u 09:15zapis iz teksta poruke
  2. dejanet12.05.2011. u 09:14zapis iz teksta poruke
#6
U Solution Explorer-u otvori Tvoj_DataSet, nadji tvojutabelu, righ click, add query, Use SQL statements, izaberi SELECT which return single value, otkucaj query NPR.:

select naziv
from tvojatabela
where (sifra=@sifra_parametar)

kazes da ti se funkcija zove NPR. getNazivBySifra i to je sta treba u DatSetu.

Kod tebe u klasi:

Tvoj_DataSetTableAdapters.tvojatabelaTableAdapter tvojatabelaTA=new Tvoj_DataSetTableAdapters.tvojatabelaTableAdapter();
string naziv= tvojatabelaTA.getNazivBySifra(sifra);//sifru kupis od nekud npr. parametar ili iz win kontrole

U selektu treba samo naziv
Re: visual studio 2010 data source 13.04.2012. u 23:10 · pre 177 meseci #8
Vidim da si napisao da si radio sa access bazom, a to je upravo ono sto meni treba pa ako ti nije problem da pokusas da mi pomognes. Naime, pokusavam u povezem c++ sa bazom podataka koristeci Visual studio 2010. Napravim bazu u acces-u, kliknem add new data source i u prozoru za odabir mi se ne pojavljuje nijedan tip baze podataka. Gledao sam ogroman broj tutorial-a i sve mi se cini lako ali jednostavno nemam da izaberm database kao sto svi ostali imaju vec mi se pojavi sledece:
http://imageshack.us/f/820/studioz.png/ (moj screenshot). Zna li neko ocemu se radi i hvala unaprijed.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme