private void lbCount_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { if (lbCount.SelectedItem != null) { selectedCount = (CheckedParam)lbCount.SelectedItem; } }
private void Button_Click(object sender, RoutedEventArgs e) { if (lbDataBases.SelectedItem == null) { new Service.MessageView("Выберите базу данных", "", Service.MessageViewMode.Message).Show(); return; } wb.NavigateToString("<html></html>"); string dbFileName = EnvPath + lbDataBases.SelectedItem.ToString() + ".sqlite"; try { if (dbConn.State != ConnectionState.Closed) { dbConn.Close(); } dbConn = new SQLiteConnection("Data Source=" + dbFileName + ";Version=3;"); dbConn.Open(); sqlCmd.Connection = dbConn; } catch (Exception ex) { Service.Log.LogWrite(EnvPath, "Ошибка подключения к базе данных", ex.ToString()); } try { sqlCmd.CommandText = "Select name From sqlite_master where type='table' order by name;"; SQLiteDataReader dataReader = sqlCmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(dataReader); List <CheckedParam> listLength = new List <CheckedParam>(); List <CheckedParam> listCount = new List <CheckedParam>(); try { foreach (DataRow row in dt.Rows) { if (row.ItemArray[0].ToString() == "sqlite_sequence" || row.ItemArray[0].ToString() == "works" || row.ItemArray[0].ToString().Split('|')[1] == "шт") { continue; } listLength.Add(new CheckedParam { Title = row.ItemArray[0].ToString().Split('|')[0], Unit = row.ItemArray[0].ToString().Split('|')[1], IsChecked = false }); } foreach (DataRow row in dt.Rows) { if (row.ItemArray[0].ToString() == "sqlite_sequence" || row.ItemArray[0].ToString() == "works" || row.ItemArray[0].ToString().Split('|')[1] != "шт") { continue; } listCount.Add(new CheckedParam { Title = row.ItemArray[0].ToString().Split('|')[0], Unit = row.ItemArray[0].ToString().Split('|')[1], IsChecked = false }); } } catch (Exception ex) { new Service.MessageView("Нарушена структура базы данных", "Ошибка", Service.MessageViewMode.Error).Show(); return; } if (listLength.Count == 0) { new Service.MessageView("В базе данные нет параметра длины трубы", "Ошибка", Service.MessageViewMode.Error).Show(); return; } if (listCount.Count == 0) { new Service.MessageView("В базе данные нет параметра кол-ва труб", "Ошибка", Service.MessageViewMode.Error).Show(); return; } lbLength.ItemsSource = listLength; lbCount.ItemsSource = listCount; btnRead.IsEnabled = true; selectedLength = null; selectedCount = null; FillingParamsData(); lbLength.SelectedIndex = 0; lbCount.SelectedIndex = 0; } catch (Exception ex) { Service.Log.LogWrite(EnvPath, "Ошибка подключения к базе данных", ex.ToString()); } }