Štoje bolje koristiti za vezu (rad) sa bazom (za čitanje i dodavanje podataka...) ?
Gdje bi u toj priči bi datareader ?
- +/- sve poruke
- ravni prikaz
- starije poruke gore
- Dataset ti drzi sve podatke u memoriji (dakle ako zahvacas 100 redova neke tablice, svih 100 redaka se nalazi u memoriji i onda baratas sa njima). Dataset ne drzi connection prema bazi non stop otvoren, vec ga zatvara po prihvatu podataka. Sporiji u radu od readera i zahtjevniji po pitanju resursa.
- Datareader drzi samu current record u memoriji, non stop ima otvoren conn na bazu jer pri svakom citanju mora dohvatiti novi record iz baze. Brzi i resursno manje zahtjevan.
Malo pitanjce vezano uz datareader, koju varijantu (1 ili 2) koristiti ?
string MyConString = "SERVER=localhost;" +
"DATABASE=nekaBaza;" +
"UID=nekiUID;" +
"PASSWORD=nekiPasword;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select * from nekaTablica";
connection.Open();
Reader = command.ExecuteReader(); VARIJANTA 1
Reader = command.ExecuteReader(CommandBehavior.CloseConnection); VARIJANTA 2
while (Reader.Read())
{
string thisrow = "";
for (int i = 0; i < Reader.FieldCount; i++)
thisrow += Reader.GetValue(i).ToString() + ",";
listBox1.Items.Add(thisrow);
}
Reader.Close(); VARIJANTA 2 -ili ide kombinacija obadvije varijante kod close() ako gore ide VARIJANTA 2
connection.Close(); VARIJANTA 1
U varijanti 1 connection ti ostaje otvoren dok ga rucno ne zatvoris.
U varijanti 2 connection se sam zatvara nakon sto obavi sto ima.
Nisam ti sto posto siguran jer nisam puno radio sa tim nacinom pristupom bazi, mogledaj na msdn-u
Baci oko na nHibernate za mysql. Puno jednostavniji pristup bazi, nesto sporiji, ali to tebi nebi trebalo puno znaciti.
Btw ako vec radis sa .Net-om, onda ti je nekako prirodnije rijesenje MS SQL (express).
Btw ako vec radis sa .Net-om, onda ti je nekako prirodnije rijesenje MS SQL (express).
Pa mislim si otprilike ovako, ak več nešto učim onda nek to bude bez ikakvih ograničenja za osobnu i komercijalnu upotrebu.
Btw ako vec radis sa .Net-om, onda ti je nekako prirodnije rijesenje MS SQL (express).
Pa mislim si otprilike ovako, ak več nešto učim onda nek to bude bez ikakvih ograničenja za osobnu i komercijalnu upotrebu.
Sa SQLExpressom nemas nikakvih ogranicenja, osim ako ti ne treba vise CPU-a ili hrpetina rama na serveru ili baza od nekoliko GB. A za ucenje, pretpostavljam da ti ne treba.
Ako idem na MSSQL sa čime je najbolje raditi: Dataset, Linq2SQL, Entity framework ?
Zaboravi Dataset.
LINQ meni pokriva sve sto mi treba.
Entity je nesto mocniji, ali nisam imao previse iskustva sa njim.
Zaboravi Dataset.
LINQ meni pokriva sve sto mi treba.
Entity je nesto mocniji, ali nisam imao previse iskustva sa njim.
Jel može neki link za neki projekt rađen sa Linq2SQLom, pls.
