private void добавитьТекущийАдресToolStripMenuItem_Click(object sender, EventArgs e) { if (File.Exists(UserConfig.ConfigUserFile)) { var suggestedIDName = System.Net.Dns.GetHostName(); var selectForm = new frmSelectBook(); selectForm.ShowDialog(); FillComboBox(); var selectBook = selectForm.SELECTEDBOOK; if (selectBook.BookName != "") { var thisID = UserConfig.GetThisID(); if (thisID.ID != zeroConnectItem.ID) { var item = new Connect_Item(thisID.adAlias, thisID.ID, suggestedIDName, "Добавлен через \"Текущий адрес\" \r\n" + DateTime.Now.ToLongDateString().ToString() + " " + DateTime.Now.ToLongTimeString().ToString()); InsertRecordToBook(selectBook, item); } else { MessageBox.Show("Текущий адрес не найден"); } var findIndex = comboBox1.FindStringExact(selectBook.BookName); comboBox1.SelectedIndex = findIndex != -1 ? findIndex : 0; comboBox1_SelectedIndexChanged(this, e); } } else { MessageBox.Show("Текущий адрес не найден"); } }
/// <summary> /// Изменить запись в книге /// </summary> /// <param name="book"></param> /// <param name="connect_Item"></param> public static void UpdateRecordInBook(BookItem book, Connect_Item connect_Item) { try { m_sqlCmd.Parameters.Add("@alias", DbType.StringFixedLength).Value = connect_Item.adAlias; m_sqlCmd.Parameters.Add("@id", DbType.Int64).Value = connect_Item.ID; m_sqlCmd.Parameters.Add("@name", DbType.StringFixedLength).Value = connect_Item.Name; m_sqlCmd.Parameters.Add("@comment", DbType.StringFixedLength).Value = connect_Item.Comment; var cmdChangeItemIntoTable = "UPDATE [" + book.BookGUID + "] " + "SET " + "ALIAS = @alias," + "ID = @id," + "NAME = @name, " + "COMMENT = @comment " + "WHERE ID = @id;"; m_sqlCmd.CommandText = cmdChangeItemIntoTable; m_sqlCmd.ExecuteNonQuery(); } catch (SqliteException ex) { System.Windows.Forms.MessageBox.Show("Error: \r\n" + ex.Message); #if DEBUG throw new Exception(ex.Message); #endif } }
/// <summary> /// Вставка записи в книгу /// </summary> /// <param name="book">Андресная книга для вставки записи</param> /// <param name="connect_Item">Запись вида <seealso cref="Connect_Item"/></param> public static void InsertRecordToBook(BookItem book, Connect_Item connect_Item) { try { //m_sqlCmd.Parameters.Add("@bookguid", DbType.StringFixedLength).Value = book.BookGUID; m_sqlCmd.Parameters.Add("@alias", DbType.StringFixedLength).Value = connect_Item.adAlias; m_sqlCmd.Parameters.Add("@id", DbType.Int64).Value = connect_Item.ID; m_sqlCmd.Parameters.Add("@name", DbType.StringFixedLength).Value = connect_Item.Name; m_sqlCmd.Parameters.Add("@comment", DbType.StringFixedLength).Value = connect_Item.Comment; var cmdAddOItemIntoTable2 = "INSERT INTO [" + book.BookGUID + "] (ALIAS, ID, NAME, COMMENT) SELECT " + "@alias," + "@id, " + "@name" + "," + "@comment" + " WHERE NOT EXISTS (SELECT 1 FROM [" + book.BookGUID + "] WHERE ID=@id);"; m_sqlCmd.CommandText = cmdAddOItemIntoTable2; m_sqlCmd.ExecuteNonQuery(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Error: \r\n" + ex.Message); #if DEBUG throw new Exception(ex.Message); #endif } }
private void SaveItemButton_Click(object sender, EventArgs e) { var currentBook = (BookItem)comboBox1.SelectedItem; var item = new Connect_Item(textBox2.Text, textBox1.Text, textBox3.Text, textBox4.Text); var searchClone = GetConnect_ItemFromListbox(textBox2.Text); if (AddItemButton.Enabled) { if (textBox2.Text != "") { if (IsNumeric(textBox2.Text)) { if (searchClone.ID != textBox2.Text) { InsertRecordToBook(currentBook, item); } else { MessageBox.Show("Такой ID уже существует: " + searchClone, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("ID должен быть числом"); } } else { MessageBox.Show("Значение поля ID не может быть пустым", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); } } if (ChangeItemButton.Enabled) { if ((searchClone.ID == zeroConnectItem.ID) || (((Connect_Item)listBox1.SelectedItem) == searchClone)) { UpdateRecordInBook(currentBook, item); } else { MessageBox.Show("Такой ID уже существует: " + searchClone, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (AddItemButton.Enabled) { AddItemButton_Click(SaveItemButton, e); } else { ChangeItemButton_Click(SaveItemButton, e); } comboBox1_SelectedIndexChanged(SaveItemButton, e); }
/// <summary> /// Удалить запись из книги /// </summary> /// <param name="book"></param> /// <param name="connect_Item"></param> public static void DeleteRecordInBook(BookItem book, Connect_Item connect_Item) { try { m_sqlCmd.Parameters.Add("@id", DbType.Int64).Value = connect_Item.ID; var cmdDeleteItem = "DELETE FROM [" + book.BookGUID + "] WHERE ID = @id;"; m_sqlCmd.CommandText = cmdDeleteItem; m_sqlCmd.ExecuteNonQuery(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Error: \r\n" + ex.Message); #if DEBUG throw new Exception(ex.Message); #endif } }
public List <Connect_Item> GetListOfAdressFromBook(Guid bookguid) { List <Connect_Item> returnValue = new List <Connect_Item>(); DataTable dTable = new DataTable(); String sqlQuery; if (m_dbConn.State != ConnectionState.Open) { m_dbConn.Open(); //MessageBox.Show("Open connection with database"); } try { sqlQuery = "SELECT * FROM [" + bookguid + "];"; SqliteDataAdapter adapter = new SqliteDataAdapter(sqlQuery, m_dbConn); adapter.Fill(dTable); if (dTable.Rows.Count > 0) { for (int i = 0; i < dTable.Rows.Count; i++) { var item = dTable.Rows[i].ItemArray; Connect_Item roster_Item = new Connect_Item(item[1].ToString(), item[0].ToString(), item[2].ToString(), item[3].ToString()); returnValue.Add(roster_Item); } } //else //MessageBox.Show("Database is empty"); } catch (SqliteException ex) { MessageBox.Show("Error: " + ex.Message); } return(returnValue); }