Среда, 20 Ноября 2024, 19:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
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 ();
       }

Код
using System;





старый профиль
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, по идее. Тогда хз, в чем проблема. Вроде все верно.

Вот о чем я и говорил sad Все что в гугле перепробывал. И нигде нет чистого работающего примера с исходником.





старый профиль
php <3
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг