Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
1

Выполнение запросов после создания БД

11.05.2013, 19:19. Просмотров 848. Ответов 15
Метки нет (Все метки)

Подключаюсь к серверу:
C#
1
conn = new SqlConnection("Data Source=LAPTOP\\SQLEXPRESS;User ID=sa;Password=qwerty");
Создаю базу с помощью CREATE DATABASE, сразу после этого выполняю запрос на создание таблицы. Смотрю БД в SQL Server Management Studio, таблицы в ней нет. Исключения при выполнении CREATE TABLE не было.
Как открыть БД после создания? Или нужно переподключаться к серверу, указывая Initial Catalog=db ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 19:19
Ответы с готовыми решениями:

Выполнение запросов в MySQL
static MySqlCommand ConnectToMySQL(string MySQL_host, string MySQL_uid, string MySQL_pw) {...

Выполнение сразу нескольких запросов
Уважаемые форумчане, возникла такая ситуация. Есть несколько таблиц, которую я вывожу в...

выполнение запросов(Insert,Update)
Через программу подключаюсь к базе данных в MSSQLServer. Подключение работает, проверял :) . ...

Выполнение запросов созданных в самой БД Access
Как выполнить запрос на выборку который создан в самой БД, без OleDbComand? БД подключается через...

Выполнение нескольких sql-запросов (транзакция)
Вопрос в следующем у меня есть несколько sql-запросов которые должны выполнится все или не один....

15
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 21:46 2
ты бы весь код опубликовал, а то телепаты в отпусках
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 21:49  [ТС] 3
Что в моем сообщении не понятно?
Вопрос решен, перед запросами написал USE имя_базы
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 22:37 4

Не по теме:


после таких ответов пропадет желание всякое помогать. Пилите.



Добавлено через 6 минут
А вообще открой для для себя http://www.connectionstrings.com/
и в частности Initial Catalog
Может, полегчает
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 22:46  [ТС] 5
Цитата Сообщение от pincet Посмотреть сообщение

Не по теме:


после таких ответов пропадет желание всякое помогать. Пилите.



Добавлено через 6 минут
А вообще открой для для себя http://www.connectionstrings.com/
и в частности Initial Catalog
Может, полегчает
Я знаю этот ресурс. Зачем мне Initial Catalog?
Я подключился к серверу и создал новую БД, вопрос был в том, как с ней сразу же работать, потому что следующий запрос создания таблицы на этом же подключении не срабатывает.
Я так понял, что нужно либо переподключиться с Initial Catalog/Database, либо выполнить USE имя_базы, после чего все следующие SQL команды будут применяться к только что созданной БД.
Что не ясно в моем первом сообщении?
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 22:52 6
окэ, покажи свой select (особенно кляузу from)

Добавлено через 54 секунды
Цитата Сообщение от A1exSun Посмотреть сообщение
Я подключился к серверу и создал новую БД, вопрос был в том, как с ней сразу же работать, потому что следующий запрос создания таблицы на этом же подключении не срабатывает
ибо "не верю" (с)
и да, код c# в студию
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 22:57  [ТС] 7
Цитата Сообщение от pincet Посмотреть сообщение
окэ, покажи свой select (особенно кляузу from)

Добавлено через 54 секунды

ибо "не верю" (с)
и да, код c# в студию
Какой SELECT? Я же сказал, таблицы нет, смотрю в SQL Server Management Studio. F5 нажимал, ага.

Добавлено через 2 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        void Connect()
        {
            SqlConnection conn;
            try
            {
                conn = new SqlConnection(@"Data Source=LAPTOP\SQLEXPRESS;Database=test;User ID=sa;Password=qwerty");
                conn.Open();
            }
            catch
            {
                conn = new SqlConnection(@"Data Source=LAPTOP\SQLEXPRESS;User ID=sa;Password=qwerty");
                conn.Open();
                string str = "CREATE DATABASE TEST";
 
                SqlCommand myCommand = new SqlCommand(str, conn);
                myCommand.ExecuteNonQuery();
 
                string command = @"USE [TEST]
                CREATE TABLE Пользователи (
                    [Номер пользователя] INTEGER NOT NULL PRIMARY KEY,
                    ...
Хватит?
Без USE TEST оно создает таблицу хз где, но не в базе TEST.
При последующем выполнении без USE TEST говорит что такая таблица уже есть, но опять же хз где, не в базе TEST.
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 23:02 8
есть понимание про try/catch?
или пояснить?
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 23:04  [ТС] 9
Цитата Сообщение от pincet Посмотреть сообщение
есть понимание про try/catch?
или пояснить?
Что не нравится в моем try-catch?
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 23:07 10
все. В try ты только откпрываешь соединение с сиквелом. Ты явно ожидаешь ошибку и в catch прописываешь код создания БД?
Пилите.
еще и catch непонятно кого.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 23:09  [ТС] 11
Цитата Сообщение от pincet Посмотреть сообщение
все. В try ты только откпрываешь соединение с сиквелом. Ты явно ожидаешь ошибку и в catch прописываешь код создания БД?
Пилите.
Да. Что-то не так?
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 23:20 12
А что так? В catch ты провалишься только при неудачном коннекте к своему сиквел-серверу. И только тогда твои ddl инструкции будут переданы провом данных на сервер и возможно, будут выполнены.
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 23:21  [ТС] 13
Цитата Сообщение от pincet Посмотреть сообщение
А что так? В catch ты провалишься только при неудачном коннекте к своему сиквел-серверу. И только тогда твои ddl инструкции будут переданы провом данных на сервер и возможно, будут выполнены.
Я хочу проверить есть ли уже БД, если ее нет - создать. Работает сервер, нет базы - попадаю в catch.
Как иначе?
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 23:24 14
печальный путь ты выбрал. А если тупо сети нет - тоже базу будешь создавать?
и вообще - зачем проверять наличие базы на сервере? Созданием и сопровождением DBA обычно занимаются. Клиентам нет никакой печали - существет БД или нет. Для них печаль - доступность, вернее НЕДОСТУПНОСТЬ
0
A1exSun
C#
55 / 55 / 5
Регистрация: 09.03.2013
Сообщений: 216
11.05.2013, 23:24  [ТС] 15
Цитата Сообщение от pincet Посмотреть сообщение
печальный путь ты выбрал. А если тупо сети нет - тоже базу будешь создавать?
Как иначе?
Там тоже будет catch. Конкретное исключение обработаю.
0
pincet
1371 / 955 / 130
Регистрация: 23.07.2010
Сообщений: 5,169
11.05.2013, 23:30 16
а, ну давай, обрабатывай.
0
11.05.2013, 23:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2013, 23:30

Соединение с СУБД MySql и выполнение запросов
Здравствуйте Уважаемые форумчане. Я новичок как в форуме так и в программировании, прошу строго не...

Выполнение нескольких запросов к БД в отдельном потоке
Собственно программа время от времени должна выполнять запросы в БД (Oracle и Hadoop). Иногда эти...

Выполнение нескольких запросов к MySQL через одно соединение
Здравствуйте! Сейчас подключаюсь и делаю команду вот так: MySqlConnection connection = new...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru