Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.238.161.165] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте, уважаемые участники форума! Прошу строго не судить меня за данный вопрос, т.к. я новичок в C#. Есть следующая проблема, которую нужно решить. Суть ее такова: есть база данных, сделанная в СУБД MySQL. Необходимо написать программу на C# для работы с данной базой, которая выполняет простые операции с ней (вставка новых записей, удаление и т.п.). Задача простая, но есть один нюанс, который я не могу понять.
Можно ли сделать, чтобы в итоге данная программа была отдельным приложением (устанавливаемым самостоятельно пользователем), которая работает с базой данных MySQL (которая хранится на жестком диске пользователя (база данных будет входить в дистрибутив программы)), вне зависимости установлен MySQL сервер или нет? Если нельзя и нужно обязательно наличие сервера на компьютере пользователя, то каким образом это можно сделать (может отойти от MySQL и выбрать что-то другое)? Заранее благодарен Вам за ответы и Ваше время. |
Сообщ.
#2
,
|
|
|
Можно использовать SQLite или как мне в соседней теме сказал juice, бд Excel будет работать без самого пакета Microsoft Office.
|
Сообщ.
#3
,
|
|
|
Для базы данных MySQL в обязательном порядке нужен сервер (это же клиент-серверная СУБД все таки).
В вашем случае можно использовать локальную БД, не требующую установки сервера, вплоть до банальной MS Access, на ваш вкус Кстати, вопрос к старшим: а можно ли встроить установку MySQL сервера в инсталлятор .NET программы, чтобы не напрягать пользователя лишний раз установкой еще одного продукта? |
Сообщ.
#4
,
|
|
|
Цитата Raistlin @ а можно ли встроить установку MySQL сервера в инсталлятор .NET программы Думаю все можно, но не факт, что без проблем, а вот MS SQL Express Edition, можно точно без проблем включить в стандартный установочный пакет. |
Сообщ.
#5
,
|
|
|
А можно поподробнее про SQLlite. Зашел на их сайт www.sqllite.org, понял вроде, что ее можно встраивать в C++ проекты. Подойдет ли она для проекта на C#? Может у кого есть ее описание на русском?
|
Сообщ.
#6
,
|
|
|
Цитата Straylon @ Подойдет ли она для проекта на C#? Да с C# проблем не будет. Скачивай установщик. в Проекте в References подключай либы SQLite и все вот я ваял простейший класс для работы с бд: ... 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; } } ... |
Сообщ.
#7
,
|
|
|
Существует версия MySQL Embedded, не требующая установки сервера.
http://dev.mysql.com/doc/refman/6.0/en/libmysqld.html Сам еще не разбирался, но звучит заманчиво. |
Сообщ.
#8
,
|
|
|
Привет!!! всем пользователям данного ресурса. У меня такая промблема. Я пишу программу в Мицрософт Висуал Студио 2010 сщ, для игры и поскольку я нуб в этом деле не сочтите за наглость помогите пожалуйста. Я создал 3 формы Форм1,Форм2 и Форм3. Вопрос такой как мне сделать таблицу так чтобы в Форм3 я изменял данные, а в Форм2 происходили все изменения. Вопрос второй когда пользователь в Форм2 в таблице нажал на свой (присвоенный ему) слот то в таблице Форм2 отобразились его личные данные. И ещё один вопрос и всё это завязано с к кнопкой в Форм2 обновить, а в Форм3 подтвердить данные. Если есть возможность сделать видео по этому поводу. Заранее благодарю за понимание надеюсь в вашей помощи.
Прикреплённый файлDEI34YfMJd4.jpg (57,3 Кбайт, скачиваний: 870) |
Сообщ.
#9
,
|
|
|
Я только не понял а что выводить данные можно только по номеру поля
printfrow0; ? а по имени что нельзя ? например printfrow"name"; ? |
Сообщ.
#10
,
|
|
|
Нужно связать формы между собой, для это конструкторе Form2 Form3 передавай ссылку на Form1 и через нее они будут связываться, делаешь обработчики формах и копируешь в другой элемент другой формы. Как-то так.
|