Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 202

/ вопрос решён /

Приветствую, уважаемые эксперты! У меня есть база данных со столбцом "Экзамен",подскажите как сделать что бы при нажатии на CheckBox в этом столбце появлялась запись "1". только сделать это все надо через ADOCommand. Вот пробовал че то не получилось что исправить?

begin
if sCheckBox1.Checked= true then ADOCommand1.CommandText:= 'insert into ' + sEdit1.text + '( Экзамен) ' + ' values ('''+sCheckBox1.Caption+''')';
end;

недобовляет, незнаю как прописать что при выборе надо добавить 1.

Анучин Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Анучин (статус: Посетитель)
Вопрос отправлен: 15 апреля 2011, 22:14
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 5; последнее сообщение — 16 апреля 2011, 00:48; участников в обсуждении: 3.
VKHacker

VKHacker (статус: 1-ый класс), 15 апреля 2011, 22:43 [#1]:

Может быть ошибаюсь, но как мне кажется, что если заключать значения в двойные кавычки, то должно сработать...

ADOCommand1.CommandText := 'insert into ' + sEdit1.text + '(Экзамен) values ("'+sCheckBox1.Caption+'")';


И еще(возможно вы забыли):

  ADOCommand1.Execute;



Т.е., исправляя ваш пример, получаем:

if sCheckBox1.Checked then
begin
ADOCommand1.CommandText := 'insert into ' + sEdit1.text + '(Экзамен) values ("'+sCheckBox1.Caption+'")';
ADOCommand1.Execute;
end;

Проверял, добавляет.
Анучин

Анучин (статус: Посетитель), 15 апреля 2011, 23:01 [#2]:

нет, так то же не получается, выдает ошибку :Несоответствие типов данных в выражении условия отбора.
VKHacker

VKHacker (статус: 1-ый класс), 15 апреля 2011, 23:05 [#3]:

Условие отбора это по идее SELECT, а не INSERT INTO. А вы делает вставку...

Может быть столбец "Экзамен" имеет тип "Числовой"?

Попробуйте заменить строку запроса на

'insert into ' + sEdit1.text + '(Экзамен) values (1)'
Анучин

Анучин (статус: Посетитель), 15 апреля 2011, 23:10 [#4]:

да!!! все, так заработало, спасибо!!!!

15 апреля 2011, 23:11: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин)

bugmenot

bugmenot (статус: 3-ий класс), 16 апреля 2011, 00:48 [#5]:

Цитата:

CheckBox1.Checked= true

LOL
if 2*2=4=true<>false=true then
виконання програми розпочинається з того самого мiсця, де призупинилося.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:28
Выполнено за 0.03 сек.