C#+Mysql
|
|
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 14:56 | Сообщение # 1 |
Господин Ведущий
Сейчас нет на сайте
| Как работать с mysql в C#? Шарю в этом мало, полистал гугл - ничего дельного\работающего.
Что мне требуется: в одном месте SELECT нескольких полей, в другом месте UPDATE нескольких полей.
Приведите пример кода, как это реализовать. Думаю работа с mysql будет отдельным классом, ну и как ее лучше всего вызывать из другого класса. Заранее благодарю.
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 14:58 | Сообщение # 2 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| тык Первая строчка в гугле. У меня какой-то другой гугл?
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 17:51 | Сообщение # 3 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) тык Первая строчка в гугле. У меня какой-то другой гугл? Там написано для формы, а так как я в том не шарю - могу скопипастить и отредактировать строчку подключения. И событие подключения там для кнопки. У меня ее нету.
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 18:06 | Сообщение # 4 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Yashko3, я вообще не понимаю, в чем сложность. И как можно не знать winForm, работая на шарпе? Берите код из функции button_click()- вот вам и работа с базой, можете вызвать хоть в консоли, хоть где. Исправить там нужно ровно 3 строчки в цикле анализа результатов запроса- вместо добавления к текстовому полю выполняйте свои операции, например, выводите в консоль или что вам нужно.
|
|
| |
MasterSambo | Дата: Воскресенье, 28 Июля 2013, 18:25 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Цитата (Yashko3) Как работать с mysql в C#? Что это такое?
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 18:50 | Сообщение # 6 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) Yashko3, я вообще не понимаю, в чем сложность. И как можно не знать winForm, работая на шарпе? Берите код из функции button_click()- вот вам и работа с базой, можете вызвать хоть в консоли, хоть где. Исправить там нужно ровно 3 строчки в цикле анализа результатов запроса- вместо добавления к текстовому полю выполняйте свои операции, например, выводите в консоль или что вам нужно. Спасибо, с этим затупил. Все поправил, все работает вроде. Теперь вопрос - как это все вызвать в ДРУГОМ классе? Вроде надо что-то типа public static? вызываю функцию из класса 1, которая находится в классе 2. там работает и возвращает значение. Возможно глупый вопрос, но я с этими вещами еще разбираюсь только.
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 18:54 | Сообщение # 7 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (Yashko3) Теперь вопрос - как это все вызвать в ДРУГОМ классе? Вроде надо что-то типа public static? вызываю функцию из класса 1, которая находится в классе 2. там работает и возвращает значение. Возможно глупый вопрос, но я с этими вещами еще разбираюсь только. Это вопрос ООП, можно сделать по-разному: сервис, синглтон, статичный метод или вспомогательный класс. Я тут вам не посоветую без дополнительных данных, нужно смотреть как в общем устроена система.
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 19:06 | Сообщение # 8 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) Это вопрос ООП, можно сделать по-разному: сервис, синглтон, статичный метод или вспомогательный класс. Я тут вам не посоветую без дополнительных данных, нужно смотреть как в общем устроена система. В классе mysql идет несколько функций. В начале класса открывается соединение, в конце - закрывается. Внутри класса несколько функций: get_user(int id,String field);update_user(int id, int type, int new_value) - в таком духе. Внутри функций выполняются разные sql запросы к БД и идет return "ответа". Как мне их вызывать в нужный момент в другом классе? Пишу например Код public int this_user = mysql.get_user(5,'name'); и мне в this_user заносится значение поля name у юзера с айди 5. Только вот у меня не вызывается, тк оно в другом классе и вообще его не видит. А я не понимаю почему : (
старый профиль php <3
Сообщение отредактировал Yashko3 - Воскресенье, 28 Июля 2013, 19:10 |
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 19:12 | Сообщение # 9 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Yashko3, да, в таком случае можно использовать статичные методы, но лучше шаблон синглтон. Делается он очень просто, https://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования) ссылка Но если вам нужно тупо чтоб работала- делайте методы типа get_user() статичными, только не забудьте перед их вызовом открыть соединение и тд. Объект Connection создается 1 раз, как я понимаю- сделайте его тоже статичным и не забудьте инициализировать.
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 19:41 | Сообщение # 10 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) Yashko3, да, в таком случае можно использовать статичные методы, но лучше шаблон синглтон. Делается он очень просто, https://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования) ссылка Но если вам нужно тупо чтоб работала- делайте методы типа get_user() статичными, только не забудьте перед их вызовом открыть соединение и тд. Объект Connection создается 1 раз, как я понимаю- сделайте его тоже статичным и не забудьте инициализировать. сделал так: Код public class database { public static String connect() { По прежнему не могу вызвать connect() в другом классе.
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 19:46 | Сообщение # 11 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| пишите database.connect(), все должно работать
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 19:50 | Сообщение # 12 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) пишите database.connect(), все должно работать так и пишу. не работает. "имя database отсутствует в текущем контексте"
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 20:07 | Сообщение # 13 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Yashko3, using? Где пишите-то?
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 20:09 | Сообщение # 14 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) Yashko3, using? Где пишите-то? Код public override void OnMessage (string message, EChatEntryType type)
{ database.connect (); }
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 20:53 | Сообщение # 15 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Yashko3, ну так добавьте ваш класс в using, он его, видимо, банально не видит)
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 21:00 | Сообщение # 16 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) Yashko3, ну так добавьте ваш класс в using, он его, видимо, банально не видит)
каким образом?
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Воскресенье, 28 Июля 2013, 21:43 | Сообщение # 17 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Yashko3, вы вообще где пишете? Дотнет или юнька, например? Нужно что-то типа using mysql; Если я правильно понимаю проблему.
|
|
| |
Yashko3 | Дата: Воскресенье, 28 Июля 2013, 21:51 | Сообщение # 18 |
Господин Ведущий
Сейчас нет на сайте
| Цитата (Vinchensoo) Yashko3, вы вообще где пишете? Дотнет или юнька, например? Нужно что-то типа using mysql; Если я правильно понимаю проблему. Я в Xamarin Studio. юзинг для класса? Вроде же так не прописывается.
старый профиль php <3
|
|
| |
Vinchensoo | Дата: Понедельник, 29 Июля 2013, 08:11 | Сообщение # 19 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (Yashko3) юзинг для класса? Вроде же так не прописывается. Для namespace, по идее. Тогда хз, в чем проблема. Вроде все верно.
|
|
| |
Yashko3 | Дата: Понедельник, 29 Июля 2013, 16:24 | Сообщение # 20 |
Господин Ведущий
Сейчас нет на сайте
| Vinchensoo, Vinchensoo, Цитата (Vinchensoo) Для namespace, по идее. Тогда хз, в чем проблема. Вроде все верно. Вот о чем я и говорил Все что в гугле перепробывал. И нигде нет чистого работающего примера с исходником.
старый профиль php <3
|
|
| |