Добрый день.
Создаю приложения, которое работает с базой данных MySQL на языке C# в Visual Studio 2005.
У меня возникла следующая проблема:
в проекте имеются две формы: main и connset
в файле connset.cs (форма connset) создаю соединение с сервером MySQL. Называю его "conn". создаю следующим способом
public MySqlConnection conn;
Передаю все необходимые параметры подключения в это соединение, и открываю соединение командой conn.Open();
Теперь, когда я создал соединение, мне необходимо использовать его для выполнения команды запроса.
Для меня (а я в C# новичек) проблемой является импользование этого соединения в форме "main".
Когда я программировал в Дельфи, для того чтобы получить доступ к свойствам или процедурам другой формы, необходимо было
прописать в заголовке файла form1.pas, строки наподобие "uses form2.pas", а в заголовке файла form2.pas — "uses form1.pas";
Прошу подсказать, или если можно на примере показать, как мне использовать соединение conn (или лююое свойство контрола, например
label1.Text) в форме connset.
Здравствуйте, elyorchik, Вы писали:
E> Когда я программировал в Дельфи, для того чтобы получить доступ к свойствам или процедурам другой формы, необходимо было
E> прописать в заголовке файла form1.pas, строки наподобие "uses form2.pas", а в заголовке файла form2.pas — "uses form1.pas";
E>Прошу подсказать, или если можно на примере показать, как мне использовать соединение conn (или лююое свойство контрола, например
E>label1.Text) в форме connset.
Это называется using в C#
Свойства формы (класса), доступные извне нужно сделать public (). Если это контрол, то потом можно будет доступиться и к его public свойствам.
Cross-reference, как в ObjectPascal, когда одна форма ссылается на другую сделать не получится
Обычно не визуальные вещи (Connection, Settings) прячут в классы а не формы, а к ним пишут GUI обертки, если нужно.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Классы этих форм должны находится в одном пространстве имен namespace. А если же они находятся в разных пространствах имен, то типа как в дельфи надо писать uses namespaceOfConnset
И жить торопится, и чувствовать спешит!
П.А.Вяземский
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
сэкономлю тебе время, ты изначально пошел неправильным путем, благо делфи к тому поощряет, объявляя все компоненты формы как паблик. Зачем тебе отдавать коннекшн на всеобщее поругание? напиши класс MySqlDatabase в нем создай методы для создания соединения, транзакции, чтения таблицы, выполнения запроса и т.д. всего что связано с работой БД. И обращайся к этим методам. А они уже за кулисами создадут соединение, транзакцию, комманду, прочитают данные и вернут то что надо в зависимости от контекста. Сечешь мыслю ? Еще можешь вынести этот класс в отделньую длл-ку и тогда ты можешь использовать его в каждой своей проге на c#.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
]]Cross-reference, как в ObjectPascal, когда одна форма ссылается на другую сделать не получится
Что, и вправду все так запущено? В конструктор ссылку кинул — и все в ажуре (хотя сам не рекомендую там поступать).
Две капли морфия облегчат тебе жизнь.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение