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

Как вызвать SQL-запрос для БД Access?

14.05.2014, 18:55. Показов 4269. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Подключил к dataGridView таблицу из Access. Вопрос : Как нужно вызывать sql-зопрос и что нужно для этого подключить?
SQL
1
2
UPDATE продажи S
SET S.Сумма=SELECT S.[кол промо]+S.[кол регулярных];
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.05.2014, 18:55
Ответы с готовыми решениями:

Адаптировать SQL запрос в запрос для access
Помогите пожалуйста: имеется вот такой рабочий запрос созданный в exel. но так как Exel перестал вывозить разросшиюся базу перевозим все...

Как из ADOQuery вызвать запрос как в Access?
здравствуйте мне надо сделать запрос на кнопку как и запрос в аксесе там просто выбираем в конструкторе уже существующий запрос и делаем...

SQL запрос для двух связанных таблиц access
Есть две таблицы "агенты" и "договор", в таблице "агенты" только поле с перечислением агентов, в таблице "договор", кроме всего...

26
Заблокирован
14.05.2014, 21:41
Нужно использовать класс OleDbCommand.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
14.05.2014, 21:48
Нужно адаптер настроить, он всё сохранит, и не лезть в SQL без необходимости.
0
Заблокирован
15.05.2014, 08:31
cnmcf,
1) Не адаптер, а Commandbuilder.
2) В том-то и дело, что не всё он сохранит. Например, работать со столбцами, в именах которых содержатся пробелы, он не умеет.
По мне, лучше написать свой велосипед, генерирующий SQL-запросы динамически, если есть такая необходимость, нежели пользоваться билдером.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.05.2014, 09:50
Водяной Змей,
1) Именно адаптер. CommandBuilder как раз его и настраивает.
2) Столбцы с пробелами берутся в квадратные скобки и всё работает.
И чем это лучше? Трудностью с вылавливанием ошибок в таких самоделках и неоптимальностью?
0
15.05.2014, 10:11

Не по теме:

nmcf, у вас какая-то особая любовь к оффлайновой модели ADO.NET. Я выскажу своё мнение, не в упрек вам. И хочу услышать ваше.
Адаптеры, ДатаТэйблы и ДатаСеты - самая унылая вещь для работы с базой. Я допускаю лишь единственный вариант использования данной модели: это для простеньких учебных работ, и то, когда требуется не использовать что-то, помимо ADO.NET.
Если речь идёт о скорости разработки, то тогда уж надо смотреть в сторону ORM, того же EF.
А в более менее больших коммерческих проектах, уже без SQL не обойтись. А если имеешь дело с ненормализованной базой (что довольно часто встречается в наших бизнесах), то тут вообще только один вариант.

Это я всё к тому, что надо знать, какие цели преследует автор. Если человек всё-таки учится для последующей работы, то, не советовать лезть в SQL - очень плохо.

0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.05.2014, 10:21
Автор указал в самом начале, что работает с Access, что, очевидно, указывает на разработку простого настольного приложения. Отсюда адаптеры и всё прочее.
0
Заблокирован
15.05.2014, 16:17
nmcf,
работает с Access, что, очевидно, указывает на разработку простого настольного приложения
И сам Access тогда тоже простое настольное приложение.
Если приложение работает с БД, из этого никак не следует, что оно хранит в ней данные, необходимые для его работы. У людей бывает потребность во всяких специализированных редакторах, работающих с внешними БД, которые также редактируются "родными" редакторами, удобными для редактирования непрофессионалом (аксесс именно такой, в чём его и вин).

Столбцы с пробелами берутся в квадратные скобки и всё работает.
То есть вручную редактируется UPDATE-запрос.

Трудностью с вылавливанием ошибок в таких самоделках и неоптимальностью?
Вы с которой планеты?
Землянам легче исправлять то, что они делают сами, а компы землян соображают хуже землян, и если генерируют код, то он получается скорее менее оптимальный, чем если бы его писали земляне.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.05.2014, 23:52
Что ты пытался сказать про Access и приложения работающие с БД, я не понял.

Сам я пробелы в названиях полей не использую, но проставить их 1 раз в SELECT для адаптера данных не сложно.

Ты шутишь? Какие ещё земляне с инопланетянами? Типовое приложение, а здесь таких большинство, проще создать теми средствами, которые уже заложены в .NET. Ну некоторым нравится усложнять.
0
Заблокирован
16.05.2014, 02:45
nmcf,
Что ты пытался сказать про Access и приложения работающие с БД, я не понял.
Если приложение работает с БД Access и использует его как БД для хранения своих данных (скажем, настроек), то его можно считать "простым настольным приложением". Профи скорее возьмёт какой-нибудь sqlite.
Но ещё приложение может работать с внешней БД Access, выступая в роли специального редактора для этой БД. Таков сам MS Access. И такое приложение отнюдь не обязано быть "простым", хотя с Access оно тоже работает.

но проставить их 1 раз в SELECT для адаптера данных не сложно.
Когда переписываешься с кем-то, изволь читать и его сообщения тоже.
Причём тут SELECT?
Я про UPDATE-, INSERT- и DELETE-запросы, которые генерирует OleDbCommandBuilder.
Они оказываются не рассчитаны на столбцы с пробелами.
Можно, конечно, и в них эти пробелы поставить, но не проще ли тогда написать те запросы либо свой велосипед билдера с нуля, который бы генерировал сразу нормальные запросы?

Ты шутишь? Какие ещё земляне с инопланетянами?
Ну у нас на Земле, выловить и исправить ошибку всегда легче именно в самоделке, чем в чём-то, сделанном другими. А ты пишешь обратное.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
16.05.2014, 10:58
Тебе слово "настольный" не понравилось? Ладно, пусть будет "приложение начинающего программиста" или "простое приложение".
Я-то читаю сообщение, это ты просто не понимаешь как CommandBuilder работает. Он достраивает команды модификации по образцу SELECT, поэтому скобки надо именно в SELECT ставить.
У вас на Земле? К чему ты призываешь? Переходить на голый Ассемблер, чтобы уж точно ничего сделанного другими, всё своё?
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
18.05.2014, 13:03  [ТС]
и всё же что использовать?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.05.2014, 13:14
Твоя команда сама по себе не верна, SELECT из чего делается? Сначала объясни, что пытаешься сохранить. Содержимое DataGridView или какое-то вычисление?
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
18.05.2014, 13:22  [ТС]
в DataGridView хранятся данные, суть в том, что необходимо в каждой строке сложить содержимое 2 ячеек и записать в 3-ю.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.05.2014, 13:25
Вычисление делай в самом DataGridView, чтобы в нём уже была вычисленная ячейка, а потом уже его сохраняй через Update() адаптера.
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
18.05.2014, 13:28  [ТС]
а можете подсказать или посоветовать литературу, чтобы узнать как работать с sql-запросами в данном случае?
ибо нигде не могу найти примеров, где бы были показаны подключённые модули и их настройка.
0
Заблокирован
18.05.2014, 13:44
нигде не могу найти примеров, где бы были показаны подключённые модули и их настройка.
В SQL есть модули?
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
18.05.2014, 19:30  [ТС]
они есть в С#(к примеру using System.Data.OleDb;)
0
Заблокирован
18.05.2014, 22:28
они есть в С#(к примеру using System.Data.OleDb;)
1) Не модули, а пространства имён, и их всего несколько на всё ADO.NET.
2) Примеров достаточно в гугле. Но чтобы их найти, нужны руки и голова.
Если Вы введёте "как подключиться к базе данных модули SQL и их настройка", то и в самом деле вряд ли Вы там что-то найдёте.
Но если введёте "c# oledbcommandbuilder example", и приложите руки к тому, что насыплется в результате, то всё получится совсем по-другому.
0
Заблокирован
19.05.2014, 11:25
Цитата Сообщение от nmcf Посмотреть сообщение
Водяной Змей,
1) Именно адаптер. CommandBuilder как раз его и настраивает.
2) Столбцы с пробелами берутся в квадратные скобки и всё работает.
И чем это лучше? Трудностью с вылавливанием ошибок в таких самоделках и неоптимальностью?
1) CommandBuilder НЕ настраивает адаптер. Там и настраивать нечего. Адаптер просто передает запрос базе данных. А главная роль CommandBuilder, как видно из его названия - сгенерировать этот самый запрос и передать адаптеру.
2) Взять столбцы с пробелами в квадратные скобки в CommandBuilder невозможно, если запрос динамический и вы не можете перечислить поля поименно.

Добавлено через 4 минуты
Цитата Сообщение от zangetsu Посмотреть сообщение
и всё же что использовать?
SELECT-запрос делается так
C#
1
2
3
4
OleDbConnection myOleDbConnection = new OleDbConnection (connectionString);
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
myOleDbCommand.CommandText = "SELECT * FROM People" ;
myOleDbConnection.Open();
На место "SELECT * FROM People" можно поставить любой иной sql-запрос
Но он должен быть корректным. Ваш код может и не сработать. Обычно суммы считают не в запросе, а в Дата ГридВью. И отправляют в БД запросом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2014, 11:25
Помогаю со студенческими работами здесь

Где и как выполнить sql запрос в Access 2010
Скажите пожалуйста, куда надо ткнуть в Access 2010, что-бы появилось окно выполнение SQL запроса к базе?

SQL запрос ACCESS как сложить ГРУППУ значений в столбце
Доброго времени суток есть ТЗ Фирма по заказу клиента комплектует и продает компьютеры. Клиент в заказе указывает...

Вызвать запрос созданный в SQL сервер и прикрепить к DataGrid
Можно ли как-то вызвать запрос созданный в SQL сервер и прикрепить к DataGrid.

Как програмно вызвать из ACCESS стандартное окно WINDOWS для открытия файла?
Как програмно вызвать из ACCESS стандартное окно WINDOWS для открытия файла? Хорошо бы пример. Спасибо, Андрей

Запрос в SQL Access
Есть таблица: Необходимо создать запрос на подсчет кол-ва изучаемых предметов. Буду очень благодарен за помощь.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru