Novo

Forum kao aplikacija na telefonu

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

Kako napisati parametarsku metodu za Insert i Update ?

  • 5 odgovora
  • 3.857 pregleda

Najnovija ↓

Kako napisati parametarsku metodu za Insert i Update ? 10.11.2006. u 10:11 · pre 243 meseca #1
Ja sam pocetnik u VB.NET pa vas molim za pomoc.
U svojim starim VB projektima imao sam jednu parametarsku klasu sa metodama:Select, Insert, Delete i Update koje su radile nad bilo kojim tabelama. I tada sam radio sa diskonektovanim recordsetovima.

Npr Select * from Tabela where Filter gde su Tabela i Filter parametri koje prosledjujem iz funkcije.
Ovu metodu sam uspeo da napravim u VB.NET, ali ne umem Insert i Update.

Za Update sam prosledjivao kao parametar recordset, a onda metoda protrci po svim poljima recordseta, uhvati tip i ime svakog polja, u posebnoj funkciji ga konvertuje za sql i onda napravim string za Update.

Ovo ne umem da napravim u VB.NET, pa ako neko moze da mi pomogne.

Znaci ideja je da se Select povucem datatable ili dataset, u njemu izmenim zeljena polja i onda sa metodom Update vratim izmene u bazu.

Ima li neko ideju kako da ovo uradim?
Hvala unapred na odgovorima
Re: Kako napisati parametarsku metodu za Insert i Update ? 10.11.2006. u 14:07 · pre 243 meseca #3
cekaj ako si za SELECT iskaz koristio

Select * from Tabela where Filter

Zar ne bi bilo logicno da za UPDATE koristis

UPDATE tabela SET atributi WHERE filters.

Ovo mi nekako deluje najlakse resenje i onda prenosis metodi samo stringove.
Postoji i bolje, ali dosta komplikovanije resenje.
Potpis
Idemo dalje
Re: Kako napisati parametarsku metodu za Insert i Update ? 11.11.2006. u 19:45 · pre 243 meseca #5
Zaboravi na VB recordset pristup potpuno i pogledaj ADO.NET 2.0.

Postoje dva glavna nacina u .NET-u:

1. DataReader - Najslicnije starom recordset-u.

Napravis Datareader koji je "forward-only" i iscitavas podatke. Veoma brz ali zahtjeva otvorenu konekciju dok radis sa njim.

2. Dataset - Sadrzi vise tabela koje mogu imati relacije izmedju sebe. Pozoves DataAdapter koji Fill komandom napuni taj dataset/datatablu. Imas disconnected podatke na klientu ali je "teret" na aplikaciji malo veci. Kada se ti podatci izmjene, komandom DataAdapter.Update se salju u bazu podataka.


Malo je previse da ti sada objasnjavam kompletnu teoriju ADO.Net, samo pretrazi msdn i imas gomilu lekcija i primjera.
Potpis
http://www.pro-transport.com - The most advanced trucking software on the market
Re: Kako napisati parametarsku metodu za Insert i Update ? 13.11.2006. u 08:48 · pre 243 meseca #6
Citat:
Na koji komplikovaniji nacin mislis?


Uf ..., ajd da pokusam da pojasnim kako ja to radim. Imam DataLayer sloj koji izvrsava operacije nad bazom podataka. U tom sloju postoji sledeca metoda (C#):

Code:

public bool ChangeObjects(GeneralDomainObject gdo)
{
            myCommand.CommandType = CommandType.Text;
            myCommand.CommandText = "UPDATE " + gdo.TableName + " SET " + gdo.UpdateAttributes() + " WHERE " + gdo.Criteria;

            try { myCommand.ExecuteNonQuery(); }
            catch (DbException e)
            {
                   ErrorMessage = e.Message;
                   return false;
            }
            return true;
 }


GeneralDomainObject je apstraktna klasa koju nasledjuju sve domenske klase koje inace reprezentuju tabele koje se nalaze u bazi podataka. Nasledjene klase implementiraju metode koje mozes videti u kodu.
Inace napravio sam i neki mali generator domenskih klasa, tako da za vecinu baza koje postoje nemam potrebu da rucno pisem domenske klase, vec ih generisem iz generatora klasa.
Potpis
Idemo dalje
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme