Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 16:21   #1
Daur
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 47
Радость Запрос в DataSet

имеются столбцы в ДБгриде Например "Итог" и "Зачислен" ... если число в поле "Итог" больше 30 тогда поле "зачислен" становиться ДА...если меньше 30 тогда НЕТ...
БД аксесс...(логическое поле в аксессе сделал)... какой должен быть запрос в adodataset...? нужно что-то типа UPDATE имя_таблицы SET zachislen = true if Itog > 30 else false... ?? или как..?
"..."

Последний раз редактировалось Daur; 30.05.2010 в 16:47. Причина: когда так делаю..он пишет пропущен оператор в выражении запроса...чего не правильно..?
Daur вне форума Ответить с цитированием
Старый 30.05.2010, 18:17   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

простите.. чтото дубли часто выходить стали.. инет чтоли притормаживает

Последний раз редактировалось vovk; 30.05.2010 в 18:24.
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 18:18   #3
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Вам надо немного прочитать про SQL если нет возможности купить книгу, можно много найти на сайте. В каждом разделе есть закреплённые топики в данном случае литература тут, потом я бы советовал зайти на http://www.sql-ex.ru там и учебный материал, и пробные задания.
По вопросу почти правильно
Код:
UPDATE имя_таблицы SET zachislen = true WHERE Itog > 30
после SET пишем список полей, и значения которые они должны принять, к примеру
Код:
SET pole = 30, pole1 = pole1-20
тут будет заменены значение записей поля pole на 30, а pole1 на pole1-20 соответственно, но если както не ограничить, то будут заменены значения этих полей во всех записях. Для этого и существует ограничение (условие) WHERE если используем условие отбора то будут заменены только значение в записях подходящих под условие, в нашем случае WHERE Itog > 30

Последний раз редактировалось vovk; 30.05.2010 в 18:22.
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 19:12   #4
Daur
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 47
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Вам надо немного прочитать про SQL если нет возможности купить книгу, можно много найти на сайте.
Благодарю очередной раз за помощь и за литературу..! сам читаю "Sql для чайников" но там не нашел подобного примера...и вопрос не в тему в этом поле "Зачисленные" данные представлены как "True and False" возможно ли их русифицировать...? например Да\Нет...или Зачислен\Не зачислен...в
ДБгриде есть PickList Но он не подходит...
"..."
Daur вне форума Ответить с цитированием
Старый 30.05.2010, 20:06   #5
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
сам читаю "Sql для чайников"
Аллен Тейлор? если да, мне книга не понравилась.
По вопросу в логическом поле нельзя, но дял акцесса можно в запросе сделать так
Код:
'SELECT pole1, pole2, poleN , IIF( zachislen = true,'+QuotedStr('идти не оглядыватся')+ ', '+QuotedStr('стоять боятся')+') as zachislen  FROM имя_таблицы '
вообще для этого в SQL есть CASE

Последний раз редактировалось vovk; 30.05.2010 в 20:11.
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 22:18   #6
Daur
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 47
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Аллен Тейлор? если да, мне книга не понравилась.
По вопросу в логическом поле нельзя, но дял акцесса можно в запросе сделать так
Код:
'SELECT pole1, pole2, poleN , IIF( zachislen = true,'+QuotedStr('идти не оглядыватся')+ ', '+QuotedStr('стоять боятся')+') as zachislen  FROM имя_таблицы '
вообще для этого в SQL есть CASE
так же прописал в адодатасэт...но когда запускаю нажимаю на кнопу пишет "Параметр поле1 не имеет значения по умолчанию"...а что мне поставить вместо поле1..? или это вообще надо в аксессе делать..? и еще вопрос что за "IIF"..он что выполняет..?


по книге.. да Ален Тэйлор...советуете не читать...? изучать другое..?
"..."
Daur вне форума Ответить с цитированием
Старый 30.05.2010, 22:31   #7
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

вместо pole1 ставте название своего поля которое содержится в таблице. То же самое относится и для других "pole" потом "zachislen" с вашего поста взял, как понял это имя поля с данными типа BOOLEAN которе в таблице требуется отобразить по другому.
IIF это условие, в асцессе в справке вроде должно быть описание.
Цитата:
по книге.. да Ален Тэйлор...советуете не читать...? изучать другое..?
читайте раз больше нечего, там в общем т есть что узнать.. (мнение о книге лично моё, а мне далеко до профессионала, я просто самоучка)
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 22:32   #8
Daur
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 47
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Аллен Тейлор? если да, мне книга не понравилась.
так вместо поле1 и т.д. поставил свои поля ...теперь говорит что пропущен оператор...?
"..."
Daur вне форума Ответить с цитированием
Старый 30.05.2010, 22:43   #9
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от Daur Посмотреть сообщение
так вместо поле1 и т.д. поставил свои поля ...теперь говорит что пропущен оператор...?
напишите структуру таблицы, и текст запроса который у вас вышел.
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 22:56   #10
Daur
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 47
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
напишите структуру таблицы, и текст запроса который у вас вышел.
а я ничего не менял...
Вложения
Тип файла: rar Пример.rar (31.8 Кб, 7 просмотров)
"..."
Daur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
dataset и progressbar asimpsons БД в Delphi 14 29.07.2009 10:53
dataset sergei64_89 Общие вопросы .NET 1 19.09.2008 20:14
DataSet nimf БД в Delphi 3 28.01.2008 23:03
доступ к DataSet EdNovice БД в Delphi 0 11.05.2007 07:01