Есть форма с datagridview. При нажатие на кнопку "изменить данные" открывается новая форма, где выводится в текст боксы данные текущей строки из datagridview. Дальше при удачном заполнении, создаю DataRow и изменяю данные. В datagridview выводит изменения, но в саму базу не сохраняет (т.е. после перезапуска приложения данные прежние). Добавление и удаление данных работают. Не пойму, в чем ошибка.
Форма с datagridviewprivate void button4_Click(object sender, EventArgs e)
{
string kod = dgv_med[0, dgv_med.CurrentRow.Index].Value.ToString();
string name = dgv_med[1, dgv_med.CurrentRow.Index].Value.ToString();
string typemed = dgv_med[2, dgv_med.CurrentRow.Index].Value.ToString();
EditMed EditMed = new EditMed(kod, name, typemed);
if (EditMed.ShowDialog() != DialogResult.OK)
{
MessageBox.Show("Мед. учреждение не изменено");
return;
}
DataRow myRow = DataSet.Tables["MedTable"].Rows.Find(kod);
myRow.BeginEdit();
myRow["Kod_med"] = EditMed.MedId;
myRow["Nazvanie"] = EditMed.MedName;
myRow["Type"] = EditMed.MedType;
myRow.EndEdit();
DataSet.Tables["MedTable"].AcceptChanges();
dal.SaveChanges(DataSet);
}
Форма редактированияpublic partial class EditMed : Form
{
public int MedId
{
get { return int.Parse(txtKod.Text); }
}
public string MedName
{
get { return txtName.Text.Trim(); }
}
public string MedType
{
get { return txtType.Text.Trim(); }
}
public EditMed(string Kod, string name, string typemed)
{
InitializeComponent();
txtKod.Text = Kod;
txtName.Text = name;
txtType.Text = typemed;
txtKod.Text.Trim();
txtName.Text.Trim();
txtType.Text.Trim();
}
private void btn_saveEditMed_Click(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(txtKod.Text.Trim()) ||
String.IsNullOrEmpty(txtName.Text.Trim()) ||
String.IsNullOrEmpty(txtType.Text.Trim())
)
DialogResult = DialogResult.No;
else
DialogResult = DialogResult.OK;
}
}
Подключение бдclass Dal
{
string connectionString = ConfigurationManager.ConnectionStrings["RSPK1managerConnectionString"].ConnectionString;
DataSet DataSet;
SqlDataAdapter medDA, prihodDA;
SqlCommandBuilder MedCB;
public Dal()
{
DataSet = new DataSet("RSPK");
medDA = new SqlDataAdapter("SELECT * FROM Med ORDER by Kod_Med", connectionString);
prihodDA = new SqlDataAdapter("SELECT * FROM prihod ORDER by Kod_prihod", connectionString);
//Билдер вставка удаление обновление данных
MedCB = new SqlCommandBuilder(medDA);
}
public DataSet GetAllData()
{
try
{
medDA.Fill(DataSet,"MedTable");
prihodDA.Fill(DataSet, "PrihodTable");
DataSet.Tables[0].PrimaryKey = new DataColumn[] { DataSet.Tables[0].Columns[0] };
DataSet.Tables[0].Columns[0].Unique = true;
DataRelation prskDR = new DataRelation("Medprihod",
DataSet.Tables["MedTable"].Columns["Kod_med"],
DataSet.Tables["PrihodTable"].Columns["Kod_otprav"]);
DataSet.Relations.Add(prskDR);
}
catch
{
}
return DataSet;
}
internal bool SaveChanges(DataSet DataSet_)
{
try
{
medDA.Update(DataSet_.Tables["MedTable"]);
}
catch
{
return false;
}
return true;
}