62
2.3.4. Описание программных модулей
Листинг программы представлен в приложении Б.
Для настройки подключения к БД используется следующий код:
publicvoidLoadConnection()
{
//получаем данные из файла settings.ini в массив строк
string[] strok = File.ReadAllLines("settings.ini");
//если файл есть и не пустой, значит массив будет не пустой и считываем данные
if (strok != null)
{
//переменная неопределеннного типа для доступа к файлу app.config, который содржит все
настройки проекта
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// ищем секцию connectionStrings, которая содержит инфоормацию о подключенияъх к БД,
их может быть много
varconnectionStringsSection =
(ConnectionStringsSection)config.GetSection("connectionStrings");
//получаемнашустрокуподключениясименемDTP.Properties.Settings.DTPConnectionStringиприс
ватваемей
//значение из переменной, полученной из файла
//чтобыподключитьбд
string[] ss = strok[0].Split(';');
string cc = "Data Source = " + ss[0] + "; Initial Catalog = " + ss[1] + "; Integrated
Security = True";
if(!string.IsNullOrEmpty(ss[2])) cc += "User Id=" + ss[2] + ";Password = " + ss[3] +
"; ";
connectionStringsSection.ConnectionStrings["Tabel.Properties.Settings.tabelConnectionS
tring"].ConnectionString = cc;
config.Save();// сохранениефайлаapp.config
ConfigurationManager.RefreshSection("connectionStrings");//обновлениесекцииconnectionS
trings, чтобыизменения
//вступиливсилу
}
else
{
MessageBox.Show("НастройтеподключениекБД", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
}
Для сохранения данных в БД после изменения в таблице используется
программный код:
this.Validate();
this.табельBindingSource.EndEdit();
bdDataSet.ТабельDataTabledeletedOrders = (bdDataSet.ТабельDataTable)
bdDataSet.Табель.GetChanges(DataRowState.Deleted);
bdDataSet.ТабельDataTablenewOrders = (bdDataSet.ТабельDataTable)
bdDataSet.Табель.GetChanges(DataRowState.Added);
bdDataSet.ТабельDataTablemodifiedOrders = (bdDataSet.ТабельDataTable)
bdDataSet.Табель.GetChanges(DataRowState.Modified);