На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Работа с базами данных в C#
    Здравствуйте, уважаемые участники форума! Прошу строго не судить меня за данный вопрос, т.к. я новичок в C#. Есть следующая проблема, которую нужно решить. Суть ее такова: есть база данных, сделанная в СУБД MySQL. Необходимо написать программу на C# для работы с данной базой, которая выполняет простые операции с ней (вставка новых записей, удаление и т.п.). Задача простая, но есть один нюанс, который я не могу понять.
    Можно ли сделать, чтобы в итоге данная программа была отдельным приложением (устанавливаемым самостоятельно пользователем), которая работает с базой данных MySQL (которая хранится на жестком диске пользователя (база данных будет входить в дистрибутив программы)), вне зависимости установлен MySQL сервер или нет? Если нельзя и нужно обязательно наличие сервера на компьютере пользователя, то каким образом это можно сделать (может отойти от MySQL и выбрать что-то другое)? Заранее благодарен Вам за ответы и Ваше время.
      Можно использовать SQLite или как мне в соседней теме сказал juice, бд Excel будет работать без самого пакета Microsoft Office.
        Для базы данных MySQL в обязательном порядке нужен сервер (это же клиент-серверная СУБД все таки).
        В вашем случае можно использовать локальную БД, не требующую установки сервера, вплоть до банальной MS Access, на ваш вкус :rolleyes:

        Кстати, вопрос к старшим: а можно ли встроить установку MySQL сервера в инсталлятор .NET программы, чтобы не напрягать пользователя лишний раз установкой еще одного продукта?
        Сообщение отредактировано: Raistlin -
          Цитата Raistlin @
          а можно ли встроить установку MySQL сервера в инсталлятор .NET программы

          Думаю все можно, но не факт, что без проблем, а вот MS SQL Express Edition, можно точно без проблем включить в стандартный установочный пакет.
            А можно поподробнее про SQLlite. Зашел на их сайт www.sqllite.org, понял вроде, что ее можно встраивать в C++ проекты. Подойдет ли она для проекта на C#? Может у кого есть ее описание на русском?
              Цитата Straylon @
              Подойдет ли она для проекта на C#?

              Да с C# проблем не будет. Скачивай установщик. в Проекте в References подключай либы SQLite и все вот я ваял простейший класс для работы с бд:
              ExpandedWrap disabled
                ...
                    using System.Data.SQLite;
                ...
                    public class SQLite
                    {
                        private SQLiteConnection Connection = null;
                        private SQLiteCommand    Command    = null;
                 
                        private StreamWriter Log = new StreamWriter("log.txt", true);
                 
                        private void ToLog(string text)
                        {
                            Log.WriteLine(DateTime.Now.ToString("[dd.MM.yyyy HH:mm:ss]") + " - " + text); Log.Flush();
                        }
                 
                        public bool Connect()
                        {
                            try
                            {
                                Connection = new SQLiteConnection("Data Source = DataBase.sqlite; Version = 3; New = False; Compress = True;");
                                Connection.Open();
                 
                                ToLog("Open Session");
                            }
                 
                            catch (Exception ex)
                            {
                                ToLog("Error Open Session " + ex.Message);
                                return false;
                            }
                 
                            return true;
                        }
                 
                        public bool Disconnect()
                        {
                            try
                            {
                                Connection.Close(); Connection.Dispose();
                 
                                ToLog("Close Session");
                            }
                 
                            catch (Exception ex)
                            {
                                ToLog("Error Close Session " + ex.Message);
                                return false;
                            }
                 
                            finally
                            {
                                Log.Close();
                            }
                 
                            return true;
                        }
                 
                        public bool ExecuteQuery(string txtQuery)
                        {
                            try
                            {
                                Command = Connection.CreateCommand();
                 
                                Command.CommandText = txtQuery;
                                Command.ExecuteNonQuery();
                 
                                Command = null;
                 
                                ToLog("Execute Query");
                            }
                 
                            catch (Exception ex)
                            {
                                ToLog("Error Execute Query " + ex.Message);
                                return false;
                            }
                 
                            return true;
                        }
                    }
                ...
              Сообщение отредактировано: Maxidrom -
                Существует версия MySQL Embedded, не требующая установки сервера. ;)
                http://dev.mysql.com/doc/refman/6.0/en/libmysqld.html
                Сам еще не разбирался, но звучит заманчиво.
                  Привет!!! всем пользователям данного ресурса. У меня такая промблема. Я пишу программу в Мицрософт Висуал Студио 2010 сщ, для игры и поскольку я нуб в этом деле не сочтите за наглость помогите пожалуйста. Я создал 3 формы Форм1,Форм2 и Форм3. Вопрос такой как мне сделать таблицу так чтобы в Форм3 я изменял данные, а в Форм2 происходили все изменения. Вопрос второй когда пользователь в Форм2 в таблице нажал на свой (присвоенный ему) слот то в таблице Форм2 отобразились его личные данные. И ещё один вопрос и всё это завязано с к кнопкой в Форм2 обновить, а в Форм3 подтвердить данные. Если есть возможность сделать видео по этому поводу. Заранее благодарю за понимание надеюсь в вашей помощи.
                  Прикреплённый файлПрикреплённый файлDEI34YfMJd4.jpg (57,3 Кбайт, скачиваний: 870)
                  Сообщение отредактировано: Slepoi -
                    Я только не понял а что выводить данные можно только по номеру поля

                    printfrow0; ?

                    а по имени что нельзя ? например printfrow"name"; ?
                      Нужно связать формы между собой, для это конструкторе Form2 Form3 передавай ссылку на Form1 и через нее они будут связываться, делаешь обработчики формах и копируешь в другой элемент другой формы. Как-то так.
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0282 ]   [ 17 queries used ]   [ Generated: 28.03.24, 20:28 GMT ]