Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
15 / 15 / 2
Регистрация: 20.11.2009
Сообщений: 452
1

Как реализовать другие виды запросов, доступные не только в момент разработки

16.05.2012, 19:16. Показов 797. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
имеется бд на access. К ней нужен интерфейс на С#.
С подключением БД, выводом таблиц и результатов запросов немного разобрался.
но как реализовать другие виды запросов, доступные не только в момент разработки?
пытался и так

C#
1
2
3
4
5
6
7
8
9
  System.Data.SqlClient.SqlCommand select = new System.Data.SqlClient.SqlCommand();
            System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter();
            da.SelectCommand = select;
            select.Connection = knijnii_magazun; // ругается на имя подключения
            select.CommandType = System.Data.CommandType.Text;
            System.Data.DataTable tbl;
            tbl = new DataTable();
            select.CommandText = "select...";
            da.Fill(tbl);
Добавлено через 1 час 30 минут
ну и бред же я написал
подключилось вот так

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;" + "data source=knijnii_magazun.mdb";
       
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
 
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
     
            myOleDbConnection.Open();
            myOleDbCommand.CommandText = "INSERT INTO Продавці ( Розряд )"+ "SELECT 6 AS Выражение6;";
 
 
 
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
 
 
textBox1.Text +=Convert.ToString( myOleDbDataReader.Read()); 
 
myOleDbDataReader.Close();
 
myOleDbConnection.Close();
подключилось но запрос выполнять не хочет

в самой субд
SQL
1
2
INSERT INTO Продавці ( Розряд )
SELECT 6 AS Выражение6;
выполняется без проблем
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2012, 19:16
Ответы с готовыми решениями:

Как программно определить все доступные в данный момент точки доступа WiFi?
Как программно определить все доступные в данный момент точки доступа WiFi?? И если есть среди них...

Хранение текста запросов в таблице. Как реализовать выполнение запросов с параметрами и Select?
День добрый! По тексту кода часто встречаются одни и те же фиксированные запросы, бывает длинные....

Определить виды блюд, которые есть только на завтраке, только на обеде и только на ужине
В столовой имеются отдельные меню на завтрак, обед и ужин. Известно, что в каждом таком меню не...

Другие виды списков
Помогите найти и исправить ошибку в задачке В текстовом файле заданы действительные числа....

4
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
16.05.2012, 20:06 2
Insert должен запускаться с помощью метода ExecuteNonQuery, а не ExecuteReader.
и точку с запятой уберите из запроса.
0
15 / 15 / 2
Регистрация: 20.11.2009
Сообщений: 452
17.05.2012, 00:23  [ТС] 3
попробовал в двух вариантах
C#
1
2
3
4
5
6
7
 string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;" + "data source=knijnii_magazun.mdb";
            OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
            OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
            myOleDbConnection.Open();
            myOleDbCommand.CommandText = "INSERT INTO Продавці ( Розряд )" + "SELECT 6 AS Выражение6";
                      textBox1.Text += Convert.ToString(myOleDbCommand.ExecuteNonQuery());
                              myOleDbConnection.Close();
в textBox1 выводиться единица

и
C#
1
2
3
4
5
6
7
8
9
10
string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;" + "data source=knijnii_magazun.mdb";
 
            string queryString = "INSERT INTO Продавці ( Розряд )" + "SELECT 6 AS Выражение6";
            using (SqlConnection connection = new SqlConnection(
          connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();
                command.ExecuteNonQuery();
            }
ругается на не подключение к самой базе

хотя в самом app.config записано
XML
1
2
3
4
5
 <connectionStrings>
        <add name="кр.Properties.Settings.knijnii_magazunConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\knijnii_magazun.mdb"
            providerName="System.Data.OleDb" />
    </connectionStrings>
 Комментарий модератора 
Не цитируйте собственный, тем более, текущий пост
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
17.05.2012, 07:07 4
Цитата Сообщение от nikooolay Посмотреть сообщение
в textBox1 выводиться единица
Ну и правильно выводится. ExecuteNonQuery возвращает количество изменненых строк. В данном случае вы добавили одну строчку к таблице.
Цитата Сообщение от nikooolay Посмотреть сообщение
ругается на не подключение к самой базе
Может дело в том что классы SqlCommand/SqlConnetion не подходят для вашей строки подключению. С mssql плотно не работал, не знаю как там чего точно.
0
15 / 15 / 2
Регистрация: 20.11.2009
Сообщений: 452
17.05.2012, 11:53  [ТС] 5
Цитата Сообщение от turbanoff Посмотреть сообщение

Может дело в том что классы SqlCommand/SqlConnetion не подходят для вашей строки подключению. С mssql плотно не работал, не знаю как там чего точно.
тогда как создать необходимое мне подключение
также попробовал по примеру Работа с подключенным уровнем ADO .NET в C# смог только подключиться, на все запросы отвечает ошибкой
0
17.05.2012, 11:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2012, 11:53
Помогаю со студенческими работами здесь

Виды запросов в БД
Здравствуйте! На сколько я знаю, существует четыре вида запросов: * Запросы на выборку *...

Rest и другие виды архитектуры
Неподскажете где рассказано понятно про rest ,или раскажите что такое rest своими словами.И...

Получить только доступные в системе языки
Здравствуйте. For Each ci In CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures) ...

Получить с сайта данные, доступные только после авторизации
Всем привет. Такая ситуация, Нужно получить с сайта данные, доступные только после авторизации....

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

Как реализовать последовательное выполнение паралельных запросов?
Как пример биржа обмена валют. Если 2 юзера одновременно добавят ордер, это может вызвать глюк если...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru