|
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
|
||||||
Как вызвать SQL-запрос для БД Access?14.05.2014, 18:55. Показов 4269. Ответов 26
Метки нет (Все метки)
Доброго времени суток. Подключил к dataGridView таблицу из Access. Вопрос : Как нужно вызывать sql-зопрос и что нужно для этого подключить?
0
|
||||||
| 14.05.2014, 18:55 | |
|
Ответы с готовыми решениями:
26
Как из ADOQuery вызвать запрос как в Access? SQL запрос для двух связанных таблиц access |
|
Заблокирован
|
|
| 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. Я выскажу своё мнение, не в упрек вам. И хочу услышать ваше.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 15.05.2014, 10:21 | |
|
Автор указал в самом начале, что работает с Access, что, очевидно, указывает на разработку простого настольного приложения. Отсюда адаптеры и всё прочее.
0
|
|
|
Заблокирован
|
||||
| 15.05.2014, 16:17 | ||||
|
nmcf,
Если приложение работает с БД, из этого никак не следует, что оно хранит в ней данные, необходимые для его работы. У людей бывает потребность во всяких специализированных редакторах, работающих с внешними БД, которые также редактируются "родными" редакторами, удобными для редактирования непрофессионалом (аксесс именно такой, в чём его и вин).
Землянам легче исправлять то, что они делают сами, а компы землян соображают хуже землян, и если генерируют код, то он получается скорее менее оптимальный, чем если бы его писали земляне.
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, выступая в роли специального редактора для этой БД. Таков сам MS Access. И такое приложение отнюдь не обязано быть "простым", хотя с Access оно тоже работает.
Причём тут 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 | ||
0
|
||
|
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
|
|
| 18.05.2014, 19:30 [ТС] | |
|
они есть в С#(к примеру using System.Data.OleDb;)
0
|
|
|
Заблокирован
|
||
| 18.05.2014, 22:28 | ||
2) Примеров достаточно в гугле. Но чтобы их найти, нужны руки и голова. Если Вы введёте "как подключиться к базе данных модули SQL и их настройка", то и в самом деле вряд ли Вы там что-то найдёте. Но если введёте "c# oledbcommandbuilder example", и приложите руки к тому, что насыплется в результате, то всё получится совсем по-другому.
0
|
||
|
Заблокирован
|
||||||||
| 19.05.2014, 11:25 | ||||||||
|
2) Взять столбцы с пробелами в квадратные скобки в CommandBuilder невозможно, если запрос динамический и вы не можете перечислить поля поименно. Добавлено через 4 минуты
Но он должен быть корректным. Ваш код может и не сработать. Обычно суммы считают не в запросе, а в Дата ГридВью. И отправляют в БД запросом.
0
|
||||||||
| 19.05.2014, 11:25 | |
|
Помогаю со студенческими работами здесь
20
Где и как выполнить sql запрос в Access 2010 SQL запрос ACCESS как сложить ГРУППУ значений в столбце
Как програмно вызвать из ACCESS стандартное окно WINDOWS для открытия файла? Запрос в SQL Access Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|