Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288

ConnectionString

29.11.2010, 14:11. Показов 4124. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем, добрый день! Такая проблема, добавил на форму DataGridView и подключился к базе данных. Возник такой вопрос, если базу данных переместить в другую папку, то как изменить строку ConnectionString, если база подключена не программным путем? А изменить ConnectionString нужно программно.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2010, 14:11
Ответы с готовыми решениями:

ConnectionString
Задача состоит в следующем. Написана программа производящая простейшие манипуляции с БД: добавление, блокироковка, отчеты, фильтр и т.п....

SQLite connectionString
string fn = "MyPass.html"; StreamWriter Write = new StreamWriter(fn, false, Encoding.UTF8); string db_way =...

ConnectionString и MS SQL
Начал разбираться в этой технологии. И есть несколько вопросов: 1. Какая версия MS SQL на ХР максимальная. 2. Есть ли какой-то...

11
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
29.11.2010, 15:57
1. Что за БД?
2. Каким способом подключались к ней?
0
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
29.11.2010, 16:22  [ТС]
Цитата Сообщение от MAcK Посмотреть сообщение
1. Что за БД?
2. Каким способом подключались к ней?
База данных Access (*.accbd). Выбрал DataGridView и подключил его к базе через кн. расширенных возможностей (кн. с треугольником).
0
 Аватар для Sender88
10 / 10 / 1
Регистрация: 11.10.2010
Сообщений: 49
29.11.2010, 17:01
Советую работать с базой метобом описанным в теме созданной раннее: "Нужна помошь при создании базы данных(C# и SQL Server 2005 express)". Почему так? Потому, что в таком случае у тебя получится компактный код и ты будешь понимать что, как и где выполняется.

Добавлено через 4 минуты
Если удастся подключиться к базе вручную, отпишись - помогу.
1
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
29.11.2010, 18:51  [ТС]
Цитата Сообщение от Sender88 Посмотреть сообщение
Советую работать с базой метобом описанным в теме созданной раннее: "Нужна помошь при создании базы данных(C# и SQL Server 2005 express)". Почему так? Потому, что в таком случае у тебя получится компактный код и ты будешь понимать что, как и где выполняется.

Добавлено через 4 минуты
Если удастся подключиться к базе вручную, отпишись - помогу.
Все равно не получается.
Скрин ошибки:

Использую код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SqlConnection connection1 = new SqlConnection(@"Data Source=.\SQLEXPRESS;" + @"AttachDbFilename='C:\Users\Евгений\Documents\Visual Studio 2010\Projects\Base\Base\bin\Debug\base.accdb';" + @"Integrated Security=True;Connect Timeout=30;User Instance=True");
        string CommandText = "";
        DataSet dSet;
        SqlDataAdapter sqlDataAdapter1;
 
public void ConnectToBase()
        {
            connection1.Open();//Эта строка открывает базу
            CommandText = "SELECT * from Сотрудники";// В кавычках пишешь SQL запрос к БД
            dSet = new DataSet();// Назначаем новый дата сэт
            sqlDataAdapter1 = new SqlDataAdapter();// Назначаем новый адаптер
            sqlDataAdapter1.SelectCommand = new SqlCommand(CommandText, connection1);// Указываем объекту DataAdapter, какие данные он должен получить и откуда
            sqlDataAdapter1.Fill(dSet);// Теперь заполняем находящийся в памяти объект DataSet данными
            dataGridView1.DataSource = dSet;// Привязываем элемент DataGridView к хранящимся в памяти данным;
            connection1.Close();// Закрываем подключение к базе данных
        }
0
 Аватар для Sender88
10 / 10 / 1
Регистрация: 11.10.2010
Сообщений: 49
29.11.2010, 22:20
Я так понял у тебя база сделанная на Acces. Если так, то тебе нужно подключаться к базе через Jet а не SQL Express.

Добавлено через 1 час 33 минуты
Когда ты подключался к базе через DataGridView. Там должна была быть отображена строка подключения что-то типа "Provider=Microsoft.jet.Oledb........"(т очно не помню), используешь её, но пишешь вместо
C#
1
SqlConnection connection1 = new SqlConnection(Строка подключения)
строку
C#
1
OledbConnection connection1 = new OledbConnection(Строка подключения)
Ну и соответственно дальше всё в том же духе(SqlDataAdapter на OledbAdapter и т. д.)
Совет: Лучше не копи-пасти, а набирай вручную, так как пишу по памяти)))

Добавлено через 1 минуту
Ах да сперва включи Oledb. Для этого пропиши:
C#
1
using System.Data.OleDb;
1
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
29.11.2010, 22:30  [ТС]
Sender88, Прописываю строку "Provider=Microsoft.ACE.OLEDB.12.0 ata Source=base.accdb", по закрытию формы пишу da.Update((DataTable)dataGridView1.DataS ource);. Данные загружаются, но по закрытию формы выдает ошибку.
0
 Аватар для Sender88
10 / 10 / 1
Регистрация: 11.10.2010
Сообщений: 49
30.11.2010, 09:05
У тебя происходят ошибки при обновлении базы данных. Честно сказать обновить базу у самого не получалось)) На форуме много тем по поводу "сохранения данных из DataSet в БД", но правда нормального метода я так и не нашел. Поищи может найдешь.
А так если тебе нужно просто просматривать базу, то убери строку da.Update. А по поводу того, как изменить ConnectionString программно: как вариант попробуй создать стринговую переменную типа:
C#
1
2
string con1 = "Путь к базе1";
string con2 = "Путь к базе2";//Другое подключение
А дальше создай, к примеру, две кнопки. По нажатию которых будет загрузка базы. У одной кнопки будет
C#
1
OleDBConnection connection1 = new OleDBConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSourse="+con1);
А у другой:
C#
1
OleDBConnection connection1 = new OleDBConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSourse="+con2);
1
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
30.11.2010, 10:27  [ТС]
Sender88, Без обновления БД никак нельзя. А изменить строку подключения не знаю как, если БД подключать к ДатаГридВью через кнопку расширенных возможностей (белая с треугольником).
0
 Аватар для Sender88
10 / 10 / 1
Регистрация: 11.10.2010
Сообщений: 49
30.11.2010, 11:52
А зачем тебе нужен этот треугольник. Просто создай DataGridView и две кнопки(ими мы будем менять путь к базе), а в коде начни с объявления стринговых переменных(о них я написал раннее). За тем дважды кликни на первой кнопке и запихни туда твой код, который открывает базу. Со второй кнопкой сделай то же самое только поменяй строку подключения на
C#
1
OleDBConnection connection1 = new OleDBConnection @"Provider=Microsoft.ACE.OLEDB.12.0;DataSourse="+con2);
У тебя получится, что по нажатию на первую кнопу грузится база из первого источника, а на другую - будет грузится база из другово.
P.S. Пример с кнопками я предоставил для того что бы ты понял каким образом можно, непосредственно, в программе менять подключения к базе.

Добавлено через 33 минуты
Еще можно переключаться при помощи ListBox или RadioButtons.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void ConnectToBase()
        {
            if (radioButton1.Checked)
            {
            conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+con1);
            }
            if (radioButton2.Checked)
            {
            conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+con2);
            }
            conn.Open();
            comm = new OleDbCommand("SELECT * FROM Сотрудники", conn);
            da = new OleDbDataAdapter(comm);
            cb = new OleDbCommandBuilder(da);
            dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
        }
1
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
30.11.2010, 13:03  [ТС]
Sender88, С этим проблем нет, осталось научиться обновлять БД.
0
 Аватар для Sender88
10 / 10 / 1
Регистрация: 11.10.2010
Сообщений: 49
30.11.2010, 13:52
Ну с обновлением помочь не могуСам несколько раз спрашивал у людей на форуме, толкового ответа не дали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2010, 13:52
Помогаю со студенческими работами здесь

Формируем Connectionstring
Дорогие форумчане. Столкнулся с небольшой проблемой, честно пересмотрел похожие темы, ответа не нашел. В чем вопрос. Паттерн MVC....

Ошибка connectionString
День добрый, уважаемые формучане! Пытаюсь подключиться к базе данных, созданной в SQL Server Managment Studio,с именем project_Cafe У...

Свойство ConnectionString не инициализировано
Проконсультируйте пожалуйста, кто может а то, я на этой неделе начал разбираться, и возникло уйма вопросов, и проблем, проблемы почти все...

Недопустимый параметр connectionstring
Есть вот такой код, пытаюсь вывести в датарид содержимое таблицы из базы данных. Но вываливается ошибка. Код взял из соседних тем, но не...

Переключение между connectionstring
Суть такая, есть прога, которая подключается к бд на локальном сервере. Планируется добавить переключения между локальным и тестовым и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru