Witam,
Napisałem klasę którą chce wykorzystać w moim programie. Jej zadaniem jest wczytywanie i zapisywanie tabeli do bazy danych. Niestety, nie wiem dlaczego, potrafię tylko wczytać tabelę do programu, ale nie potrafię jej uaktualnić. Mogę prosić o jakąś pomoc w znalezieniu błędu? Oto kod klasy:
class DbService
{
#region Zmienne
private string conStr = ConfigurationManager.ConnectionStrings["PlanZajecSQL"].ConnectionString;
private SqlDataAdapter dAdapt = null;
private string tabelaName;
#endregion
#region Konstruktory
public DbService(string tabelaName_)
{
tabelaName = tabelaName_;
ConfigureAdapter();
}
#endregion
#region Metody
/// <summary>
/// Konfiguruje adapter(?). Dla kontruktora.
/// </summary>
private void ConfigureAdapter()
{
dAdapt = new SqlDataAdapter("Select * From " + tabelaName, conStr);
SqlCommandBuilder builder = new SqlCommandBuilder(dAdapt);
}
/// <summary>
/// Czyta tabelę.
/// </summary>
public DataTable GetTable()
{
DataTable tab = new DataTable(tabelaName);
dAdapt.Fill(tab);
return tab;
}
/// <summary>
/// Uaktualnia tabelę.
/// </summary>
public void UpdateTable(ref DataTable modifiedTable) // Referencje dodałem przed chwilą, ale
//nic to nie zmienia
{
dAdapt.Update(modifiedTable);
}
#endregion
}
A tak jej używam żeby zapisać coś:
DataTable tab = null;
// Wczytanie
DbService baza = new DbService("MojaTabela");
tab = baza.GetTable();
// Zabawa z tabelą
DataRow nowyWiersz = MojaTabela.NewRow();
nowyWiersz["kolumna1"] = "abc";
nowyWiersz["kolumna2"] = "abc";
MojaTabela.Rows.Add(nowyWiersz);
MojaTabela.AcceptChanges();
// Zapis - nie działa
DbService baza = new DbService("MojaTabela");
baza.UpdateTable(ref tab);