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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2011, 18:34   #1
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию ошибка в sql

Здравствуйте!Помогите найти ошибку
мне нужно проверить есть ли вводимое значение в поле или нет. Если нет -то записать, если есть-то выдать предупреждение.

проверять мне нужно в табилце под именем Journal , который в папке BD
поле Kod

нашел пример как это сделать но вылетает ошибка Invalid use of ketword. Token ? Line nimber:1. Вот код:
Код:
procedure TForm2.Button19Click(Sender: TObject);
var  cnt: integer;
begin
Query1.sql.Add('Select COUNT(*) as cnt FROM '+GetCurrentDir+'\BD\Journal WHERE Kod='+dbedit28.Text);
Query1.Open;
cnt:=query1.FieldByName('cnt').AsInteger;
if cnt=1 then
 ShowMessage('человек с таким ФИО уже существует');
Query1.Close;
Помогите плз, очень нужно
hunter03 вне форума Ответить с цитированием
Старый 03.12.2011, 19:44   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

БДЕ ? paradox? Если да то пользуйтесь TTable и его методом Lookup. Ведь явно же таблица уже открыта, даже если нет в скорости практически не проиграете.
А лучше забудте про BDE и найдите чтото другое благо сейчас есть из чего выбирать.

по теме GetCurrentDir вы уверены что вам нужна текущая папка?
может вам нужна директория где лежит exe файл вашей программы? Если да то меняем GetCurrentDir на ExtractFilePath(Application.ExeName )

ЗЫ АА да весь путь с именем файла в двойные кавычки, + обязательно расширение если это не .db

Последний раз редактировалось vovk; 03.12.2011 в 19:46.
vovk вне форума Ответить с цитированием
Старый 03.12.2011, 20:33   #3
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

уверен что текущий каталог нада.
но задание над именно с sql это провернуть
hunter03 вне форума Ответить с цитированием
Старый 03.12.2011, 20:47   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Ну текущий так текущий, тогда посмотрите что у вас содержится в
Query1.sql

скорее всего там чтото от предыдущих действий осталось, в общем для уверенности не так,
Код:
Query1.sql.Add('Select COUNT(*) as cnt FROM '+GetCurrentDir+'\BD\Journal WHERE Kod='+dbedit28.Text);
,
а так
Код:
Query1.sql.text:=('Select COUNT(*) as cnt FROM '+GetCurrentDir+'\BD\Journal WHERE Kod='+dbedit28.Text);
vovk вне форума Ответить с цитированием
Старый 03.12.2011, 20:51   #5
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

та же самая ошибка(
hunter03 вне форума Ответить с цитированием
Старый 03.12.2011, 21:14   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ндяя разбейте запрос
Код:
Query1.sql.clear;
Query1.sql.Add('Select COUNT(*) as cnt'); 
Query1.sql.Add(эFROM '+GetCurrentDir+'\BD\Journal');
Query1.sql.Add(эWHERE Kod='+dbedit28.Text);
Query1.Open;
и напишите теперь сообщение об ошибке

Последний раз редактировалось vovk; 03.12.2011 в 21:58.
vovk вне форума Ответить с цитированием
Старый 03.12.2011, 21:36   #7
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

ничего не изменилось...
может быть это из-за того, что не все поля заполнены?
т.е. в некоторых записях поля Kod не заполнены?

уже думал может не видит таблицу, написал так:
Код:
Query1.sql.clear;
Query1.sql.Add('Select COUNT(*) as cnt ');
Query1.sql.Add('FROM '+'C:\Documents and Settings\Admin\Рабочий стол\курсак\BD\Journal  ');
Query1.sql.Add('WHERE Kod='+dbedit28.Text);
Query1.Open;

cnt:=query1.FieldByName('cnt').Value;
if cnt=1 then
 ShowMessage('человек с таким ФИО уже существует');
Query1.Close;
hunter03 вне форума Ответить с цитированием
Старый 03.12.2011, 22:02   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Извеняюсь, выше наделал сам ошибок, исправил.

меня терзают смутные сомнения....
может
Код:
bedit28
подключена как раз к это му самому Query1?
vovk вне форума Ответить с цитированием
Старый 04.12.2011, 00:18   #9
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

ну да, а куда же?
hunter03 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка с sql запросом mmihan БД в Delphi 7 29.11.2011 22:25
Ошибка в SQL запросе program123 БД в Delphi 11 06.12.2009 17:12
Ошибка Sql запроса Yrok БД в Delphi 8 13.03.2009 09:08
ошибка в SQL Cantana SQL, базы данных 2 11.09.2007 12:03