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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 06:07   #1
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
Лампочка поиск id в таблице

Здравствуйте уважаемые форумчанины!

У меня есть таблица в которой находятся поля: ID, fullName
Я пытаюсь написать запрос который по известному имени находит id и записывает ее в переменную.
Но у меня выдается ошибка: Параметр Вася не имеет значение по умолчанию.

Вот код запроса:
Код:
    ADOQueryDataBase.Close;
    ADOQueryDataBase.SQL.Clear;
    ADOQueryDataBase.SQL.Add('SELECT * FROM TableClients WHERE fullName='+nameClient);
    ADOQueryDataBase.Open;
    if ADOQueryDataBase.RecordCount=1 then
      {нашли нужный ID}
      idClient := ADOQueryDataBase.FieldByName('ID').AsInteger;
не могли бы вы мне помочь исправить????
Заранее спасибо!
tanek вне форума Ответить с цитированием
Старый 11.03.2012, 09:24   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

как я понимаю, поле fullname имеет строковый тип, а значит и в запросе в условии должна быть строковая константа. Изменения вроде таких должны помочь:
Код:
ADOQueryDataBase.SQL.Add('SELECT * FROM TableClients WHERE fullName="'+nameClient+'"');
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 11.03.2012, 13:04   #3
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

DiemonStar Спасибо вам.... и в правду помогло....

Вопрос правда не совсем по теме но не хочу создавать новую.....

Пытаюсь сделать запрос на добавление имени организации и id клиента...
Код:
ADOQueryDataBase.SQL.Add('insert into TableOrganizition(nameOrganizition idClient )');
    ADOQueryDataBase.SQL.Add('values('+#39+nameOrganizition+#39+','+#39+IntToStr(numberClient)+#39+' )');
    ADOQueryDataBase.ExecSQL;
Но выдается ошибка: Ошибка синтаксиса в инструкции Insert into
В чем я ошиблась
tanek вне форума Ответить с цитированием
Старый 11.03.2012, 13:12   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Код:
ADOQueryDataBase.SQL.Add('insert into TableOrganizition(nameOrganizition ,idClient )');
как насчет запятой )))
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 11.03.2012, 14:12   #5
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Я уже поняла))))) спасибо
Но вот столкнулась опять с такой же проблемой.... и запятая стоит...
Есть таблица адресов. Поля страна город и дом является строкой. Название полей таблицы и таблицу я проверила с бд. Все сходится. Но выдается та же самая ошибка(((((
Код:
ADOQueryDataBase.Close;
    ADOQueryDataBase.SQL.Clear;
    ADOQueryDataBase.SQL.Add('insert into TableAddress(country,city,home)');
    ADOQueryDataBase.SQL.Add('values('+#39+country+#39+','+#39+city+#39+','+#39+home+#39+')');
    ADOQueryDataBase.ExecSQL;
tanek вне форума Ответить с цитированием
Старый 11.03.2012, 14:51   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

проверьте типы данных в таблице TableAddress!
не удивлюсь, если номер дома (home ) - это ЧИСЛОВОЕ поле...


p.s. тогда:
1) его значение в вашей перменной home должно быть числовое
2) кавычки #39 надо в последнем аргументе убрать совсем


p.p.s. кстати, я лично, предпочитаю вместо #39 использовать функцию QuotedStr()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.03.2012, 15:58   #7
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Serge_Bliznykov! Я все проверила.... все поля текстовые. Заменила на функцию QuotedStr(), ошибка не исчезла((((
tanek вне форума Ответить с цитированием
Старый 11.03.2012, 16:29   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Заменила на функцию QuotedStr(), ошибка не исчезла((((
ну, это на ошибку никак не должно было повлиять! Это просто вопрос наглядности (красоты) оформления кода. На работоспособность это НИКАК влиять не должно!

Давайте скриншот ошибки. Что там конкретно написано?!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по таблице Pecnekm Microsoft Office Excel 4 11.03.2011 14:38
Поиск в таблице бд Aндрей БД в Delphi 2 27.04.2009 18:45
Поиск в таблице бд Aндрей Помощь студентам 2 27.04.2009 09:13
поиск в таблице puma Помощь студентам 3 22.04.2008 23:56
Поиск в таблице Voffka БД в Delphi 1 08.05.2007 01:16