/// <summary> /// Записываем новый Раздел в РазделТП /// </summary> /// <param name="parParagraph">Раздел</param> /// <param name="parNumberNameParagraph">ИД Имени Раздела из таблицы НазвРаздТП</param> public void WriteParagraphTable(Paragraph parParagraph, Object parNumberNameParagraph) { OleDbCommand command = new OleDbCommand("Insert into РазделТП" + "(NРаздела,IDРаздНазв)" + " Values (@NPAR,@IDPARNAME)", dbCon); OleDbParameter param; param = new OleDbParameter(); param.ParameterName = "@NPAR"; //задаем значение параметра param.Value = parParagraph.NumberParagraph; //задаем тип параметра param.OleDbType = OleDbType.Integer; command.Parameters.Add(param); param = new OleDbParameter(); param.ParameterName = "@IDPARNAME"; //задаем значение параметра param.Value = parNumberNameParagraph; //задаем тип параметра param.OleDbType = OleDbType.Integer; command.Parameters.Add(param); try { command.ExecuteNonQuery(); } catch { MessageBox.Show("Ошибка, при выполнении запроса на добавление записи", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } command.Parameters.Clear(); }
/// <summary> /// Конструктор для темы /// </summary> /// <param name="parNumberTheme">Номер темы</param> /// <param name="parParagraph">Раздел</param> /// <param name="parName">Название темы</param> public Theme(int parNumberTheme, Paragraph parParagraph, String parName) { this.numberTheme = parNumberTheme; this.paragraph = parParagraph; this.name = parName; }
/// <summary> /// Получение ИД Раздела из таблицы IDРаздела /// </summary> /// <param name="parTheme">Раздел</param> /// <returns>Сформированный параметр - ИД Раздела, для записи в БД</returns> public OleDbParameter GetIDParagraph(Paragraph parParagraph) { OleDbParameter param = new OleDbParameter(); OleDbCommand command = this.GetCommand("SELECT * FROM НазвРаздТП"); param.Value = SearchRecordInTable(command.ExecuteReader(), parParagraph.Name, 1, 0); if (param.Value == null) { WriteNameTable("Insert into НазвРаздТП" + "(НазвРазд)" + " Values (@NAME)", parParagraph.Name); WriteParagraphTable(parParagraph, SearchRecordInTable(command.ExecuteReader(), parParagraph.Name, 1, 0)); param.Value = SearchRecordInTable(command.ExecuteReader(), parParagraph.Name, 1, 0); } //получаем ИД раздела с ИД именем (param.Value) command = this.GetCommand("SELECT IDРаздела FROM РазделТП WHERE IDРаздНазв = " + param.Value + " AND NРаздела = " + parParagraph.NumberParagraph); if (!IsRecordInDatabase(command)) { command.CommandText = "Insert into РазделТП" + " (NРаздела,IDРаздНазв)" + " Values ( " + parParagraph.NumberParagraph.ToString() + ", " + param.Value + " )"; command.ExecuteNonQuery(); command.CommandText = "SELECT IDРаздела FROM РазделТП WHERE IDРаздНазв = " + param.Value + " AND NРаздела = " + parParagraph.NumberParagraph; } OleDbDataReader reader = command.ExecuteReader(); reader.Read(); param.Value = reader["IDРаздела"]; param.OleDbType = OleDbType.Integer; param.ParameterName = "@IDTHEMEPARAGR"; return param; }