void MainFormLoad(object sender, EventArgs e) { /* Конфигурация: */ Config.MyProgramDirectory = Environment.CurrentDirectory + "\\"; // путь к программе Config.PathBase = Config.MyProgramDirectory + "resource\\resource.mdb"; // путь к базе /* Инициализация базы данных */ _localClient = new OleDbServerFull(Config.PathBase); _localDataSet = new DataSet(); _localDataSet2 = new DataSet(); /* Меню дерева */ treeviewMenu(""); }
/* Открытие окна: инициализация обработки базы данных */ void ElementLoad(object sender, EventArgs e) { /* Инициализация базы данных */ _localClient = new OleDbServerFull(Config.PathBase); _localDataSet = new DataSet(); _localDataSet.Clear(); _localDataSet.DataSetName = "Хранилище"; _localDataSetFolders = new DataSet(); _localDataSetFolders.Clear(); _localDataSetFolders.DataSetName = "Хранилище"; /*Запрос SELECT*/ if(this.Text == "Новый файл") _localClient.SelectSqlCommand = "SELECT ДатаПоследнегоСохранения, ПапкаИдентификатор, СодержаниеФайла, Строка, ТипОбъекта, ФайлВПапке, ФайлИдентификатор FROM Хранилище"; else _localClient.SelectSqlCommand = "SELECT ДатаПоследнегоСохранения, ПапкаИдентификатор, СодержаниеФайла, Строка, ТипОбъекта, ФайлВПапке, ФайлИдентификатор FROM Хранилище WHERE (ФайлИдентификатор = '" + this.Text + "')"; /*Запрос INSERT*/ _localClient.InsertSqlCommand = "INSERT INTO Хранилище (ДатаПоследнегоСохранения, ПапкаИдентификатор, СодержаниеФайла, ТипОбъекта, ФайлВПапке, ФайлИдентификатор)" + " VALUES (@ДатаПоследнегоСохранения, @ПапкаИдентификатор, @СодержаниеФайла, @ТипОбъекта, @ФайлВПапке, @ФайлИдентификатор)"; _localClient.InsertParametersAdd("@ДатаПоследнегоСохранения", OleDbType.Date, 0, "ДатаПоследнегоСохранения"); _localClient.InsertParametersAdd("@ПапкаИдентификатор", OleDbType.VarChar, 255, "ПапкаИдентификатор"); _localClient.InsertParametersAdd("@СодержаниеФайла", OleDbType.LongVarWChar, 0, "СодержаниеФайла"); _localClient.InsertParametersAdd("@ТипОбъекта", OleDbType.VarChar, 255, "ТипОбъекта"); _localClient.InsertParametersAdd("@ФайлВПапке", OleDbType.VarChar, 255, "ФайлВПапке"); _localClient.InsertParametersAdd("@ФайлИдентификатор", OleDbType.VarChar, 255, "ФайлИдентификатор"); _localClient.InsertParametersAdd("@Строка", OleDbType.Integer, 0, "Строка"); /*Запрос UPDATE*/ _localClient.UpdateSqlCommand = "UPDATE Хранилище SET ДатаПоследнегоСохранения=@ДатаПоследнегоСохранения, ПапкаИдентификатор=@ПапкаИдентификатор, СодержаниеФайла=@СодержаниеФайла, ТипОбъекта=@ТипОбъекта, ФайлВПапке=@ФайлВПапке, ФайлИдентификатор=@ФайлИдентификатор WHERE (Строка = @Строка)"; _localClient.UpdateParametersAdd("@ДатаПоследнегоСохранения", OleDbType.Date, 0, "ДатаПоследнегоСохранения"); _localClient.UpdateParametersAdd("@ПапкаИдентификатор", OleDbType.VarChar, 255, "ПапкаИдентификатор"); _localClient.UpdateParametersAdd("@СодержаниеФайла", OleDbType.LongVarWChar, 0, "СодержаниеФайла"); _localClient.UpdateParametersAdd("@ТипОбъекта", OleDbType.VarChar, 255, "ТипОбъекта"); _localClient.UpdateParametersAdd("@ФайлВПапке", OleDbType.VarChar, 255, "ФайлВПапке"); _localClient.UpdateParametersAdd("@ФайлИдентификатор", OleDbType.VarChar, 255, "ФайлИдентификатор"); _localClient.UpdateParametersAdd("@Строка", OleDbType.Integer, 0, "Строка"); /*Запрос DELETE*/ _localClient.DeleteSqlCommand = "DELETE FROM Хранилище WHERE (Строка = @Строка)"; _localClient.UpdateParametersAdd("@Строка", OleDbType.Integer, 0, "Строка"); /* Загрузка данных */ if(_localClient.ExecuteFill(_localDataSet, "Хранилище")){ if(this.Text != "Новый файл"){ textBox1.Text = _localDataSet.Tables["Хранилище"].Rows[0]["ФайлИдентификатор"].ToString(); richTextBox1.Text = _localDataSet.Tables["Хранилище"].Rows[0]["СодержаниеФайла"].ToString(); comboBox1.Text = _localDataSet.Tables["Хранилище"].Rows[0]["ФайлВПапке"].ToString(); } } /*Загрузка доступных папок*/ _localClient.SelectSqlCommand = "SELECT ДатаПоследнегоСохранения, ПапкаИдентификатор, СодержаниеФайла, Строка, ТипОбъекта, ФайлВПапке, ФайлИдентификатор FROM Хранилище WHERE (ТипОбъекта = 'Группа') ORDER BY ПапкаИдентификатор ASC"; if(_localClient.ExecuteFill(_localDataSetFolders, "Хранилище")){ for (int i = 0; i < _localDataSetFolders.Tables["Хранилище"].Rows.Count; i++) comboBox1.Items.Add(_localDataSetFolders.Tables["Хранилище"].Rows[i]["ПапкаИдентификатор"]); } }
/* Проверка уникальности */ bool uniquenessCheck(String _oldValue, String _newValue) { if(_oldValue != _newValue){ OleDbServerFull _localClientCheck = new OleDbServerFull(Config.PathBase); DataSet _localDataSetCheck = new DataSet(); _localClient.SelectSqlCommand = "SELECT ДатаПоследнегоСохранения, ПапкаИдентификатор, СодержаниеФайла, Строка, ТипОбъекта, ФайлВПапке, ФайлИдентификатор FROM Хранилище WHERE (ПапкаИдентификатор = '" + _newValue + "' OR ФайлИдентификатор = '" + _newValue + "')"; if(_localClient.ExecuteFill(_localDataSetCheck, "Хранилище")){ if(_localDataSetCheck.Tables["Хранилище"].Rows.Count > 0) return false; // такое имя уже есть (запрет) else return true; // повторений имени нет (разрешено) }else return false; // на случай ошибки (запрет) }else return true; // имя не изменилось (разрешено) }
/* Инициализация базы данных */ void initBase() { _localClient = new OleDbServerFull(Config.PathBase); _localDataSet = new DataSet(); _localDataSet.Clear(); _localDataSet.DataSetName = "FTP"; /*Запрос SELECT*/ _localClient.SelectSqlCommand = "SELECT id, ИмяПользователя, ИмяСоединения, Информация, Пароль, СерверИПорт FROM FTP"; /*Запрос INSERT*/ _localClient.InsertSqlCommand = "INSERT INTO FTP(ИмяПользователя, ИмяСоединения, Информация, Пароль, СерверИПорт) " + " VALUES (@ИмяПользователя, @ИмяСоединения, @Информация, @Пароль, @СерверИПорт)"; _localClient.InsertParametersAdd("@ИмяПользователя", OleDbType.VarWChar, 255, "ИмяПользователя"); _localClient.InsertParametersAdd("@ИмяСоединения", OleDbType.VarWChar, 255, "ИмяСоединения"); _localClient.InsertParametersAdd("@Информация", OleDbType.VarWChar, 0, "Информация"); _localClient.InsertParametersAdd("@Пароль", OleDbType.VarWChar, 255, "Пароль"); _localClient.InsertParametersAdd("@СерверИПорт", OleDbType.VarWChar, 255, "СерверИПорт"); _localClient.InsertParametersAdd("@id", OleDbType.Integer, 0, "id"); /*Запрос UPDATE*/ _localClient.UpdateSqlCommand = "UPDATE FTP SET ИмяПользователя=@ИмяПользователя, ИмяСоединения=@ИмяСоединения, Информация=@Информация, Пароль=@Пароль, СерверИПорт=@СерверИПорт WHERE (id = @id)"; _localClient.UpdateParametersAdd("@ИмяПользователя", OleDbType.VarWChar, 255, "ИмяПользователя"); _localClient.UpdateParametersAdd("@ИмяСоединения", OleDbType.VarWChar, 255, "ИмяСоединения"); _localClient.UpdateParametersAdd("@Информация", OleDbType.VarWChar, 0, "Информация"); _localClient.UpdateParametersAdd("@Пароль", OleDbType.VarWChar, 255, "Пароль"); _localClient.UpdateParametersAdd("@СерверИПорт", OleDbType.VarWChar, 255, "СерверИПорт"); _localClient.UpdateParametersAdd("@id", OleDbType.Integer, 0, "id"); /*Запрос DELETE*/ _localClient.DeleteSqlCommand = "DELETE FROM FTP WHERE (id = @id)"; _localClient.UpdateParametersAdd("@id", OleDbType.Integer, 0, "id"); }