powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключение к Oracle из C#
25 сообщений из 45, страница 1 из 2
Подключение к Oracle из C#
    #39280453
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Никак не могу сообразить, как правильно реализовать следующее задание:
В проекте 2 формы: Form1 - форма с текстовыми полями "Логин", "Пароль" и "База данных"
и кнопкой "Войти".
Form2 - форма, в которой будут выполняться запросы в базу и результат выводиться в listview.
Необходимо чтобы был постоянный коннект к базе. Вот кусок кода, при помощи которого я нормально подключаюсь к базе, но он прописан в событии Click на кнопке первой формы.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
            string strConn = "Provider=MSDAORA;Data Source=" + textBox3.text + ";User Id=" + textBox1.text + ";Password=" + textBox2.text + ";";
            OleDbConnection conn = new OleDbConnection(strConn);
            OleDbCommand command = new OleDbCommand(SQL, conn);
            try
            {
                // connection.Open();
                conn.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Подключение не удалось: " + ex.Message);

            }

            OleDbDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                MessageBox.Show(reader.GetString(0) + ", " + reader.GetString(1));
            }

            reader.Close();


Как правильно перенести этот код в Program.cs чтобы коннект был постоянным. и можно было постоянно обращаться к этому классу, подавая на вход ему только строку sql запроса?
Помогите кодом.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280472
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Объявить как

Код: c#
1.
2.
3.
4.
static public OleDbConnection;

static void Main(string[] args)
        {



Тогда отовсюду можно будет обращаться

Код: c#
1.
Program.OleDbConnection
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280484
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хоть убей не могу понять как это правильно прописать. Вот что есть в program.cs
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data;
namespace dsp
{
    static class Program
    {
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Logon());
        }
       static public OleDbConnection;

    }
}




Куда тут прописать. Причем так чтобы при нажатии на кнопку на Form1 в строку коннекта подставились значения из полей. и создался коннект. А второй класс должен заполнять какой-нибудь datagrid или массив данными из запроса, который подается на вход этому классу
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280487
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за идиотские вопросы. Я не писал никогда на ООП языках. Всю жизнь хватало VB. Просто так обстоятельства сложились что надо небольшой проект именно C# написать. Не могу переключить мозги на ООП мышление
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280584
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    static class Program
    {
        static public OleDbConnection conn { set; get; }
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
       
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Logon());
          
            string strConn = "Provider=MSDAORA;Data Source=testodb;User Id=kak;Password=ft6yhgy7;";
            conn = new OleDbConnection(strConn);
            try
            {
                conn.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Подключение не удалось: " + ex.Message);
            }
        }
   
      
        }
 }


Вызываю по кнопке:
Код: c#
1.
2.
3.
4.
5.
6.
        private void button1_Click(object sender, EventArgs e)
        {
          string  SQL = "SELECT * FROM smr";
           OleDbCommand command = new OleDbCommand(SQL, Program.conn);
            MessageBox.Show("OK");
                  OleDbDataReader reader = command.ExecuteReader();


выдает ошибку:
Дополнительные сведения: ExecuteReader: Свойство Connection не инициализировано.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280588
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Karlusсделал так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    static class Program
    {
        static public OleDbConnection conn { set; get; }
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
       
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Logon());
          
            string strConn = "Provider=MSDAORA;Data Source=testodb;User Id=kak;Password=xxx;";
            conn = new OleDbConnection(strConn);
            try
            {
                conn.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Подключение не удалось: " + ex.Message);
            }
        }
   
      
        }
 }


Вызываю по кнопке:
Код: c#
1.
2.
3.
4.
5.
6.
        private void button1_Click(object sender, EventArgs e)
        {
          string  SQL = "SELECT * FROM smr";
           OleDbCommand command = new OleDbCommand(SQL, Program.conn);
            MessageBox.Show("OK");
                  OleDbDataReader reader = command.ExecuteReader();


выдает ошибку:
Дополнительные сведения: ExecuteReader: Свойство Connection не инициализировано.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280608
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому что код после строчки
Код: c#
1.
Application.Run(new Logon()); 


еще не выполнился
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280611
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KarlusНеобходимо чтобы был постоянный коннект к базе

Вы сами себе придумали это условие?
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280620
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280621
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280629
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
        private void button1_Click(object sender, EventArgs e)
        {
          string  SQL = "SELECT * FROM smr";
           OleDbCommand command = new OleDbCommand(SQL, Program.conn);
            MessageBox.Show("OK");
                  Program.conn.Open() ;
                  OleDbDataReader reader = command.ExecuteReader();
                  ...
                  Program.conn. Close() ;
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280664
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил КантKarlusНеобходимо чтобы был постоянный коннект к базе

Вы сами себе придумали это условие?для виндового приложения это - нормально.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39280825
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иммануил Кант,
Нет, это не мое желание, поддерживать постоянный коннект.
Спасибо за ссылки. Разобрался.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39281551
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
KarlusНет, это не мое желание, поддерживать постоянный коннект.
Неправильное желание. Микроофт не рекомендует
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39281558
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Неправильное желание. Микроофт не рекомендуетчивоита? это-же не пул, монопольное соединение. возвращать не нужно, соответственно.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39281560
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

наоборот, глупо открывать/закрывать соединения каждый раз, зная, что его (соединение) никто использовать не будет=)
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39281829
masleshov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JVF, позвольте, а зачем держать открытым соединение, если его никто не использует, и тем самым уменьшать доступные подключения?
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39281832
Иванов Мойша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
masleshovJVF, позвольте, а зачем держать открытым соединение, если его никто не использует, и тем самым уменьшать доступные подключения?

от желания наступить на грабли, особенно многопоточные
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282172
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
masleshovJVF, позвольте, а зачем держать открытым соединение, если его никто не использует, и тем самым уменьшать доступные подключения?затем, сынок, что создание новаго соединения это - дорогое удовольствие, а в клиент-серверных приложениях пул соединений - не используется.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282173
Иммануил Бонд Аренко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JVFmasleshovJVF, позвольте, а зачем держать открытым соединение, если его никто не использует, и тем самым уменьшать доступные подключения?затем, сынок, что создание новаго соединения это - дорогое удовольствие, а в клиент-серверных приложениях пул соединений - не используется.

маме своей побибикай (с)

чушь порете, товарищ
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282180
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Бонд АренкоJVFпропущено...
затем, сынок, что создание новаго соединения это - дорогое удовольствие, а в клиент-серверных приложениях пул соединений - не используется.

маме своей побибикай (с)

чушь порете, товарищты хочешь затрахать сервер ненужными накладными расходами по созданию/уничтожению соединений? давай, сына, нихто тебе не мешает :)
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282182
Иммануил Бонд Аренко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JVFИммануил Бонд Аренкопропущено...


маме своей побибикай (с)

чушь порете, товарищты хочешь затрахать сервер ненужными накладными расходами по созданию/уничтожению соединений? давай, сына, нихто тебе не мешает :)

про пул соединений слышал? а, скорее всего нет
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282186
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Бонд Аренкопро пул соединений слышал? а, скорее всего нетавторв клиент-серверных приложениях пул соединений - не используется.давай раскажи нам тут про использование пула в КС приложениях. мож чего и узнаю на старости лет.
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282188
Иммануил Бонд Аренко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JVFИммануил Бонд Аренкопро пул соединений слышал? а, скорее всего нетавторв клиент-серверных приложениях пул соединений - не используется.давай раскажи нам тут про использование пула в КС приложениях. мож чего и узнаю на старости лет.

не узнаешь, ибо туп
...
Рейтинг: 0 / 0
Подключение к Oracle из C#
    #39282193
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Бонд Аренконе узнаешь, ибо туптуп как раз ты, если не понимаешь принципов работы одно и многозвенных приложений. фигачь пул из 20-ти соединений на одного клиента, чо.
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключение к Oracle из C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]