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

C# netipski DataSet

[es] :: .NET :: .NET Desktop razvoj :: C# netipski DataSet

[ Pregleda: 2929 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tranzicija
Srdjan Svrdlan
Beograd

Član broj: 30877
Poruke: 4
195.252.87.*



Profil

icon C# netipski DataSet26.07.2004. u 18:41 - pre 240 meseci
Pozdrav!

Tek pocinjem da se bavim C#-om pa sam naisao na problem, naizgled banalan.

Imam u klasi, koja je inace komponenta, netipiziran DataSet koji ima jednu tabelu.
To sam odradio pomucu Object Inspector-a na tom DataSet-u.

Problem je sledeci:
Ne mogu da ubacim podatke u DataSet!
Znaci:
Code:
private System.Data.DataSet dsMestoNetipski;
private System.Data.DataRow mestoRed;
private System.Data.DataTable tabMesto;


Znaci, DataSet "zna" da sadrzi tabMesto, to je ok samo nisam naveo kod...

Kada u mestoRed pokusam da dodam vrednosti - nista se ne desava - dodela se ne izvrsi!

Code:
mestoRed = this.tabMesto.NewRow();
mestoRed[0] = Guid.NewGuid();
mestoRed[1] = nazivMesta //string koji je deklarisan i ima vrednost
mestoRed[2] = Int64.Parse(postanskiFah)
 //takodje deklarisan kao string ali u tabeli je Int64
this.tabMesto.Rows.Add(mestoRed);
this.dsMestoNetipski.AcceptChanges();


Po meni je logicno da ovo radi, ali nije tako. Ako gresim, nisam svestan toga.
Vec dodela vrednosti redu mestoRed nista ne uradi (za GUID ostane null reference, za string Object reference), nama pravih vrednosti.

Ako neko moze da mi pomogne bio bih mu/joj zahvalan...
Jos bolje, hvala unapred!
When you know that your time is close at hand,
maybe then you'll begin to understand,
life down here is just a strange illusion
 
Odgovor na temu

ace

Član broj: 10000
Poruke: 24
*.225.eunet.yu



Profil

icon Re: C# netipski DataSet27.07.2004. u 01:25 - pre 240 meseci
pozovi update na adapteru.
 
Odgovor na temu

tranzicija
Srdjan Svrdlan
Beograd

Član broj: 30877
Poruke: 4
*.beotel.net



Profil

icon Re: C# netipski DataSet27.07.2004. u 01:49 - pre 240 meseci
Nije u tome problem...
Radi se o tome da Update nece nista uraditi jer DataSet ostane prazan...

Problem je sto ne dodeljujem dobro vrednosti a ne znam zasto...
When you know that your time is close at hand,
maybe then you'll begin to understand,
life down here is just a strange illusion
 
Odgovor na temu

ace

Član broj: 10000
Poruke: 24
*.5.eunet.yu



Profil

icon Re: C# netipski DataSet27.07.2004. u 02:21 - pre 240 meseci
izbaci privatne stvari iz koda i baci ga na mail.
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.jugopetrol.co.yu

Sajt: www.mika.rs


+6 Profil

icon Re: C# netipski DataSet27.07.2004. u 09:19 - pre 240 meseci
Mozda si zaboravio da copy&paste, ali gde si tabelu tblMesto ubacio u DataSet ?
Predlazem ti da 'debagujes', tako sto ces na formi napraviti dataGrid i da je bindujes samo za tabelu tblMesto, ali ne preko dataSeta:

Code:

dataGrid1.DataSource = tblMesto;


i da vidis sta se ubacuje u tu tabelu.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

tranzicija
Srdjan Svrdlan
Beograd

Član broj: 30877
Poruke: 4
195.252.85.*



Profil

icon Re: C# netipski DataSet27.07.2004. u 15:38 - pre 240 meseci
Nisam napisao ali postoji kod koji kaze da tabMesto pripada DataSet-u....
Evo ovaj:
Code:
// dsMestoNetipski
            // 
            this.dsMestoNetipski.DataSetName = "dsMestoNetipski";
            this.dsMestoNetipski.Locale = new System.Globalization.CultureInfo("sr-SP-Latn");
            this.dsMestoNetipski.Tables.AddRange(new System.Data.DataTable[] {
                        this.tabMesto});
            // 
            // tabMesto
            // 
            this.tabMesto.Columns.AddRange(new System.Data.DataColumn[] {
                        this.dcMestoID,
                        this.dcNazivMesta,
                        this.dcPostanskiFah});
            this.tabMesto.Constraints.AddRange(new System.Data.Constraint[] {
                        new System.Data.UniqueConstraint("Constraint1", new string[] {
                                    "mestoID"}, true),
                        new System.Data.UniqueConstraint("Constraint2", new string[] {
                                    "postanskiFah"}, false)});
            this.tabMesto.PrimaryKey = new System.Data.DataColumn[] {
                    this.dcMestoID};
            this.tabMesto.TableName = "MESTO";
            // 
            // dcMestoID
            // 
            this.dcMestoID.AllowDBNull = false;
            this.dcMestoID.ColumnName = "mestoID";
            this.dcMestoID.DataType = typeof(System.Data.SqlTypes.SqlGuid);
            // 
            // dcNazivMesta
            // 
            this.dcNazivMesta.AllowDBNull = false;
            this.dcNazivMesta.ColumnName = "nazivMesta";
            this.dcNazivMesta.DataType = typeof(System.Data.SqlTypes.SqlString);
            // 
            // dcPostanskiFah
            // 
            this.dcPostanskiFah.ColumnName = "postanskiFah";
            this.dcPostanskiFah.DataType = typeof(System.Data.SqlTypes.SqlInt64);
            ((System.ComponentModel.ISupportInitialize)(this.bdpDataAdapter1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.dsMestoNetipski)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.tabMesto)).EndInit();

Kada vratim do forme DataTable tabMesto, onda sve sljaka i prikazuje dobro i primenjuje constraints dobro, ali ako vratim ceo DataSet nista ne prikazuje...
Takodje, pravi razliku ako za mestoRed stavim da je:
Code:
mesto red = this.tabMesto.NewRow();
bla, bla...
this.tabMesto.Rows.Add(mestoRed);

i
Code:
mesto red = this.dsMestoNetipski.Tables["MESTO"].NewRow;
bla, bla...
this.dsMestoNetipski.Tables["MESTO"].Rows.Add(mestoRed);

Kod ovog poslednjeg ne primenjuje constraints...
Zasto pravi razliku kad se iz gornjeg koda vidi da tabMesto pripada DataSet-u dsMestoNetipski?

When you know that your time is close at hand,
maybe then you'll begin to understand,
life down here is just a strange illusion
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: C# netipski DataSet28.07.2004. u 19:45 - pre 240 meseci
Ok, nekoliko dobronamernih primedbi:

1. Primary key uvek definiši pre ostalih constraint-a i onda nemoj ponovo stavljati PK polje kao unique constraint pošto će taj constraint već biti dodat pri kreiranju PKa
2. Uvek konfiguriši stvari hijerarhijski od najniže grane ka najvišoj, dakle, ne dataset pa datatable pa datacolumn nego obrnuto. Tačno je da se radi o referencama, ali imaj u vidu da dataset možda nešto iskešira na osnovu neinicijalizovane tabele ili column-a.
3. Nemoj pozivati EndInit ako nisi pozvao BeginInit. Ovim kodom si zatvorio petlju u dataobjektima pre nego što je trebalo, mislim da ti je tu greška. FOrm konstruktor je posle nešto radio nad njima računajući da još ima svoj BeginInit otvoren.

Probaj sledeći kod umesto onog gore:

Code:

// 
// dcMestoID
// 
this.dcMestoID.AllowDBNull = false;
this.dcMestoID.ColumnName = "mestoID";
this.dcMestoID.DataType = typeof(System.Data.SqlTypes.SqlGuid);
// 
// dcNazivMesta
// 
this.dcNazivMesta.AllowDBNull = false;
this.dcNazivMesta.ColumnName = "nazivMesta";
this.dcNazivMesta.DataType = typeof(System.Data.SqlTypes.SqlString);
// 
// dcPostanskiFah
// 
this.dcPostanskiFah.ColumnName = "postanskiFah";
this.dcPostanskiFah.DataType = typeof(System.Data.SqlTypes.SqlInt64);
// 
// tabMesto
// 
this.tabMesto.BeginInit();
this.tabMesto.Columns.AddRange(new System.Data.DataColumn[] {
    this.dcMestoID,
    this.dcNazivMesta,
    this.dcPostanskiFah});
this.tabMesto.PrimaryKey = new System.Data.DataColumn[] {
this.dcMestoID};
this.tabMesto.Constraints.AddRange(new System.Data.Constraint[] {
        new System.Data.UniqueConstraint(this.dcPostanskiFah, false)
    });
this.tabMesto.TableName = "MESTO";
this.tabMesto.EndInit();
//
// dsMestoNetipski 
//
this.dsMestoNetipski.BeginInit();
this.dsMestoNetipski.DataSetName = "dsMestoNetipski";
this.dsMestoNetipski.Locale = new System.Globalization.CultureInfo("sr-SP-Latn");
this.dsMestoNetipski.Tables.AddRange(new System.Data.DataTable[] {this.tabMesto});
this.dsMestoNetipski.EndInit();

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

tranzicija
Srdjan Svrdlan
Beograd

Član broj: 30877
Poruke: 4
*.beotel.net



Profil

icon Re: C# netipski DataSet29.07.2004. u 01:57 - pre 240 meseci
Op, izvinjavam se mmix, moja greska je sto nisam postovao ceo kod, ali mi se cinilo mnogo...Evo ovako izgleda cela inicijalizacija (same dekleracije cu preskociti, one su iznad naravno)

Code:

private void InitializeComponent()
        {
            this.bdpSelectCommand1 = new Borland.Data.Provider.BdpCommand();
            this.bdpConnection1 = new Borland.Data.Provider.BdpConnection();
            this.bdpInsertCommand1 = new Borland.Data.Provider.BdpCommand();
            this.bdpUpdateCommand1 = new Borland.Data.Provider.BdpCommand();
            this.bdpDeleteCommand1 = new Borland.Data.Provider.BdpCommand();
            this.bdpDataAdapter1 = new Borland.Data.Provider.BdpDataAdapter();
            this.dsMestoNetipski = new System.Data.DataSet();
            this.tabMesto = new System.Data.DataTable();
            this.dcMestoID = new System.Data.DataColumn();
            this.dcNazivMesta = new System.Data.DataColumn();
            this.dcPostanskiFah = new System.Data.DataColumn();
            ((System.ComponentModel.ISupportInitialize)(this.bdpDataAdapter1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.dsMestoNetipski)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.tabMesto)).BeginInit();
            // 
            // bdpSelectCommand1
            // 
            this.bdpSelectCommand1.CommandOptions = null;
            this.bdpSelectCommand1.CommandText = "SELECT mestoID, nazivMesta, postanskiFah FROM MESTO";
            this.bdpSelectCommand1.CommandType = System.Data.CommandType.Text;
            this.bdpSelectCommand1.Connection = this.bdpConnection1;
            this.bdpSelectCommand1.ParameterCount = ((short)(0));
            this.bdpSelectCommand1.SchemaName = null;
            this.bdpSelectCommand1.Transaction = null;
            this.bdpSelectCommand1.UpdatedRowSource = System.Data.UpdateRowSource.None;
            // 
            // bdpConnection1
            // 
            this.bdpConnection1.ConnectionOptions = "transaction isolation=ReadCommitted;blob size=1024";
            this.bdpConnection1.ConnectionString = "database=Partner_Ing_GUID;hostname=localhost;assembly=Borland.Data" +  
                ".Mssql,Version=1.1.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0" +  
                "d1b1b;vendorclient=sqloledb.dll;provider=MSSQL;username=sa;passwo" +  
                "rd=";
            // 
            // bdpInsertCommand1
            //
            this.bdpInsertCommand1.CommandOptions = null;
            this.bdpInsertCommand1.CommandText = "INSERT INTO MESTO (mestoID, nazivMesta, postanskiFah) VALUES (?,?," +  
                "?";
            this.bdpInsertCommand1.CommandType = System.Data.CommandType.Text;
            this.bdpInsertCommand1.Connection = this.bdpConnection1;
            this.bdpInsertCommand1.ParameterCount = ((short)(0));
            this.bdpInsertCommand1.SchemaName = null;
            this.bdpInsertCommand1.Transaction = null;
            this.bdpInsertCommand1.UpdatedRowSource = System.Data.UpdateRowSource.None;
            // 
            // bdpUpdateCommand1
            // 
            this.bdpUpdateCommand1.CommandOptions = null;
            this.bdpUpdateCommand1.CommandText = "UPDATE MESTO SET mestoID = ?, nazivMesta = ?, postanskiFah = ?";
            this.bdpUpdateCommand1.CommandType = System.Data.CommandType.Text;
            this.bdpUpdateCommand1.Connection = this.bdpConnection1;
            this.bdpUpdateCommand1.ParameterCount = ((short)(0));
            this.bdpUpdateCommand1.SchemaName = null;
            this.bdpUpdateCommand1.Transaction = null;
            this.bdpUpdateCommand1.UpdatedRowSource = System.Data.UpdateRowSource.None;
            // 
            // bdpDeleteCommand1
            // 
            this.bdpDeleteCommand1.CommandOptions = null;
            this.bdpDeleteCommand1.CommandText = "DELETE FROM MESTO WHERE mestoID = ? AND nazivMesta = ? AND postans" +  
                "kiFah = ?";
            this.bdpDeleteCommand1.CommandType = System.Data.CommandType.Text;
            this.bdpDeleteCommand1.Connection = this.bdpConnection1;
            this.bdpDeleteCommand1.ParameterCount = ((short)(0));
            this.bdpDeleteCommand1.SchemaName = null;
            this.bdpDeleteCommand1.Transaction = null;
            this.bdpDeleteCommand1.UpdatedRowSource = System.Data.UpdateRowSource.None;
            // 
            // bdpDataAdapter1
            // 
            this.bdpDataAdapter1.Active = true;
            this.bdpDataAdapter1.DataSet = this.dsMestoNetipski;
            this.bdpDataAdapter1.DataTable = this.tabMesto;
            this.bdpDataAdapter1.DeleteCommand = this.bdpDeleteCommand1;
            this.bdpDataAdapter1.InsertCommand = this.bdpInsertCommand1;
            this.bdpDataAdapter1.SelectCommand = this.bdpSelectCommand1;
            this.bdpDataAdapter1.StartRecord = 0;
            this.bdpDataAdapter1.UpdateCommand = this.bdpUpdateCommand1;
            // 
            // dsMestoNetipski
            // 
            this.dsMestoNetipski.DataSetName = "dsMestoNetipski";
            this.dsMestoNetipski.Locale = new System.Globalization.CultureInfo("sr-SP-Latn");
            this.dsMestoNetipski.Tables.AddRange(new System.Data.DataTable[] {
                        this.tabMesto});
            // 
            // tabMesto
            // 
            this.tabMesto.Columns.AddRange(new System.Data.DataColumn[] {
                        this.dcMestoID,
                        this.dcNazivMesta,
                        this.dcPostanskiFah});
            this.tabMesto.Constraints.AddRange(new System.Data.Constraint[] {
                        new System.Data.UniqueConstraint("Constraint1", new string[] {
                                    "mestoID"}, true),
                        new System.Data.UniqueConstraint("Constraint2", new string[] {
                                    "postanskiFah"}, false)});
            this.tabMesto.PrimaryKey = new System.Data.DataColumn[] {
                    this.dcMestoID};
            this.tabMesto.TableName = "MESTO";
            // 
            // dcMestoID
            // 
            this.dcMestoID.AllowDBNull = false;
            this.dcMestoID.ColumnName = "mestoID";
            this.dcMestoID.DataType = typeof(System.Data.SqlTypes.SqlGuid);
            // 
            // dcNazivMesta
            // 
            this.dcNazivMesta.AllowDBNull = false;
            this.dcNazivMesta.ColumnName = "nazivMesta";
            this.dcNazivMesta.DataType = typeof(System.Data.SqlTypes.SqlString);
            // 
            // dcPostanskiFah
            // 
            this.dcPostanskiFah.ColumnName = "postanskiFah";
            this.dcPostanskiFah.DataType = typeof(System.Data.SqlTypes.SqlInt64);
            ((System.ComponentModel.ISupportInitialize)(this.bdpDataAdapter1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.dsMestoNetipski)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.tabMesto)).EndInit();
        }

Ja koliko sa proverio sve je tu sto si mi rekao...Kazem ti, taj data set sam prevukao iz Tool Box-a na Design view komponente i u Object Inspector-u mu dodao kolone, naziv tabele, constraints (i jesam prvo stavio PK za mestoId, a posle Unique za postanskiFah) i zato mi nije jasno zasto ne sljaka...
When you know that your time is close at hand,
maybe then you'll begin to understand,
life down here is just a strange illusion
 
Odgovor na temu

aXi

Član broj: 9661
Poruke: 20
*.spinnaker-nt.com



Profil

icon Re: C# netipski DataSet04.08.2004. u 12:17 - pre 240 meseci
Kao sto kazes ovo bi trebalo shljaka ;) te mora da je neka mega glupa greshka u pitanju ^_^ mrzim kad se meni tako nesto desava. Probaj da ovako dodelish vrednosti:

Code:

dsMestoNetipski.Tables[0].Rows.Add(new object[] {vrednost1, vrednost2, vrednost3});


Ako to ne reshi problem ovo sto ti je ace rekao je ql... izbaci privatne delove i shibni na mail; ovako se gadjamo necim skroz necitljivim... evo npr. moj => [email protected]; rado cu ti pomoci ;)

c-ya
.NET expert wanna-be
Ne citam PM :( => saljite mail
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: C# netipski DataSet

[ Pregleda: 2929 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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