Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako dinamicki kreirati polja

[es] :: Pascal / Delphi / Kylix :: Kako dinamicki kreirati polja

Strane: 1 2

[ Pregleda: 3946 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.98.*



+2 Profil

icon Re: Kako dinamicki kreirati polja22.11.2008. u 12:16 - pre 188 meseci
>Želiš da jedno polje čuva redni broj sloga?

Bas to?

>Zavisi od RDBMSa

FireBird baza je u pitanju?
Don't worry be happy
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Kako dinamicki kreirati polja23.11.2008. u 14:16 - pre 188 meseci
> FireBird baza je u pitanju?

Code:

Create view s_tables_list (
  table_name
) as
Select 
  rdb$relation_name
From 
  rdb$relations
Where 
  rdb$view_blr is null and 
  rdb$relation_name not starting with 'rdb$' and
  rdb$relation_name not starting with 'tmp$'
Group by
  rdb$relation_name;

 
Odgovor na temu

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.134.*



+2 Profil

icon Re: Kako dinamicki kreirati polja23.11.2008. u 15:24 - pre 188 meseci
@savkic
HVALA kralju

E sad me muci kako da odredim da li je naziiv jedinstven?
svaka tabela ima 3 polja koja moraju biti jedinstvena:ID,Sifafa,Naziv...prva 2 ssam uspeo da odresim bez greske,a 3. me zeza ...probao sam na sledece nacuine,ali mi puca grsku da ne postoji vrednost za sifru,jer kako ja kapiram on ne uzima da sifra ima vrednost
Code:
1.nacin
var
  SQl,Naziv : String;
begin
  Naziv := DBEdit2.Text;
  sql := 'select * from t_drzave where naziv_drzave = ' + QuotedStr(Naziv);
  sdsUnosIzmena.Close;
  sdsUnosIzmena.DataSet.CommandText := Sql;
  dmMain.SQLConn.StartTransaction(TD);
  sdsUnosIzmena.Open;
  dmMain.SQLConn.Commit(Td);
    if sdsUnosIzmena.RecordCount = 0 then
      begin
        sdsUnosIzmena.Append;
        sdsUnosIzmena.FieldByName('id').AsInteger := sp_Drzava_Gen_Id.Params[0].AsInteger;
        sdsUnosIzmena.FieldByName('sifra_drzave').AsString := DBEdit1.Text;
        sdsUnosIzmena.FieldByName('Naziv_Drzave').AsString := Naziv;
      end;
end;

2.nacin
function KorektanUnos(sds:TSimpleDataSet;Tabela,Polje,Vrednost:String):Boolean;
var
  TD:TTransactionDesc;
  sqlText:String;
begin
      sqlText := 'select * from ' + Tabela + ' where ' + Polje + ' = ' + QuotedStr( Vrednost );

      TD.TransactionID := 3;
      TD.IsolationLevel :=xilREADCOMMITTED;

      sds.Close;
      sds.DataSet.CommandText := sqlText;
      SQLConn.StartTransaction(TD);
      sds.Open;
      SQLConn.Commit(TD);

      if sds.RecordCount = 0 then
        Result := True
      else
        begin
          Result := False;
          ShowMessage('Polje ' + Polje + ' mora imati jedinstvenu vrednost ');
        end;
end;
//pozovem je sa

KorektanUnos(sdsUnosIzmena,'T_DRZAVE','NAZIV_DRZAVE',DBEdit2.Text)


Opet nece ne znam gde gresim?
Funkciju pozovem u dogadjaju Balidation
Don't worry be happy
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Kako dinamicki kreirati polja23.11.2008. u 17:35 - pre 188 meseci
> E sad me muci kako da odredim da li je naziiv jedinstven?

Napravi unique indekse nad tim poljima.

> svaka tabela ima 3 polja koja moraju biti jedinstvena:ID,Sifafa,Naziv...prva 2 ssam uspeo da odresim bez greske,a 3. me zeza ...probao sam
> na sledece nacuine,ali mi puca grsku da ne postoji vrednost za sifru,jer kako ja kapiram on ne uzima da sifra ima vrednost

Moraš naučiti da debaguješ. Ako ti kaže da ne postoji šifra, pogledaj kako izgleda tekst SQLa koji si izvšio, ako tu nema vrednosti, onda pogledaj odakle si uzeo tu vrednost. Koliko vidim ti koristiš DBEdit.Text i tu može biti problem, pre svega gotovo nikada nema razloga da se radi direktno sa DBEdit kontrolom, već sa poljem dataseta sa kojim je taj DBEdit povezan.
 
Odgovor na temu

mr.zhile
Ivan ZHILE
C# developer

Član broj: 185721
Poruke: 249
93.86.134.*



+2 Profil

icon Re: Kako dinamicki kreirati polja23.11.2008. u 18:03 - pre 188 meseci
>Napravi unique indekse nad tim poljima.

To sam uradio na serverskoj strani

Ma ok je sqltext , ali kad uzmem vrednost iz dbedi2 vrednost iz dbedit1 se brise,to mi nije jasno?
Probao sam i sa DataSet kontrolom,ali nece
Umesto DBEDit koristio sam sdsUnosIzmena.FieldByName('Naziv_Drzave').AsString i opet nece?
Don't worry be happy
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Kako dinamicki kreirati polja

Strane: 1 2

[ Pregleda: 3946 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.