[ ismilovic @ 09.07.2005. 09:39 ] @
C"# (Builder) Upisivanje podataka u DataBase (InterBase) Prelazim sa C++ na C# i lokalnih baza Paradox na InterBase. Prva lekcija: Pokušavam prenijeti podatke iz lokalnih datoteka u IB, tako da sam napravio text datoteku sa podacima iz Paradox datoteke, a u C# je učitam u RichTexBox te je obrađujem ovim kodom: private void AddData_Click(object sender, System.EventArgs e) { DataModul DataModul = new DataModul(); // Napravit kopiju datamodula DataModul.KpiProv.Active = false; Borland.Data.Provider.BdpDataAdapter da = DataModul.KpiProv; DataSet ds = DataModul.DM; DataTable dt = DataModul.Kpi; DataRow dr; int n = 0; foreach(String Line in TextDb.Lines){ n++; dr = dt.NewRow(); int Start = 0; // Kotistiti DataColumnCollection KPI table. foreach(DataColumn dc in DataModul.Kpi.Columns){ int Pos = Line.IndexOf(";", Start); string Value = Line.Substring(Start, Pos-Start); if(dc.DataType == typeof(System.String)) dr[dc] = Value; if(dc.DataType == typeof(System.Decimal)) dr[dc] = System.Convert.ToDecimal(Value); if(dc.DataType == typeof(System.DateTime)) dr[dc] = System.Convert.ToDateTime(Value); Start = Pos + 1; } dt.Rows.Add(dr); if(n == 2) break; // za testiranje samo 2 retka } dt.AcceptChanges(); DataModul.KpiProv.Active = true; // Kreirati privremenu DataSet variablu. DataSet dsChanges; // Ubaciti samo redove koji su mjenjani dsChanges = ds.GetChanges(DataRowState.Modified); // Kontrolirati DataSet na gresku if(!dsChanges.HasErrors) { // Ako nema greške obraditi sa BdpAdapterom da // korištenim za kreiranje DataSet-a int res = da.Update(dsChanges); // I OVO NE RADI ?????? } Odustat.Focus(); } Sa ovim kodom se "gledam" već sedam dana, POMAGAJTE. |