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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 20:38   #21
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

согласен с ReportCube, прозевал -)
правильно говорит, там кавычки не нужны, прозевал я
Код:
  ADOQuery1.Parameters.ParamByName('Barcode').Value:= Barcode;
maLoy*508 вне форума Ответить с цитированием
Старый 12.12.2012, 20:50   #22
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Код:
function TForm1.ItemByBarcode(const Barcode: string;
  var Item: TBarcodeItem): Boolean;
begin
   ADOQuery1.SQL.Text:='SELECT Line1, Line2 FROM Base WHERE code = :Barcode';
  ADOQuery1.Prepared:=true;
  ADOQuery1.Parameters.ParamByName('Barcode').Value:= Barcode;
  ADOQuery1.Active:=true;
  ADOQuery1.Requery();
  Result:=not ADOQuery1.IsEmpty;
  if Result then
  begin
    Item.Line1 := ADOQuery1.FieldByName('Line1').Value;
    Item.Line2 := ADOQuery1.FieldByName('Line2').Value;
  end;
end;
поменял местами query:=active c parametrs и убрал кавычки.
Теперь пишет operator\operand type mismatch. Ругается на строку ADOQuery1.Requery();

Код:
function TForm1.ItemByBarcode(const Barcode: string;
  var Item: TBarcodeItem): Boolean;
begin
   ADOQuery1.SQL.Text:='SELECT Line1, Line2 FROM Base WHERE code = :Barcode';
  ADOQuery1.Prepared:=true;

  ADOQuery1.Parameters.ParamByName('Barcode').Value:= Barcode;

  ADOQuery1.Requery();
  ADOQuery1.Active:=true;
  Result:=not ADOQuery1.IsEmpty;
  if Result then
  begin
    Item.Line1 := ADOQuery1.FieldByName('Line1').Value;
    Item.Line2 := ADOQuery1.FieldByName('Line2').Value;
  end;
end;
говорит теперь, что операция не может быть выполнена когда датасет закрыт

Последний раз редактировалось Stilet; 16.12.2012 в 12:34.
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 20:58   #23
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

убери
Код:
ADOQuery1.Requery();
да и
Код:
ADOQuery1.Prepared:=true;
тоже, в принципе, можно убрать
maLoy*508 вне форума Ответить с цитированием
Старый 12.12.2012, 21:02   #24
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
убери
Код:
ADOQuery1.Requery();
да и
Код:
ADOQuery1.Prepared:=true;
тоже, в принципе, можно убрать
убрал и опять ошибка оператор\операнд. ругается на строку
Result:=not ADOQuery1.IsEmpty;

по идее result должен содержать результат sql запроса

Последний раз редактировалось Stilet; 16.12.2012 в 12:36.
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 21:15   #25
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Цитата:
Сообщение от Kerby666 Посмотреть сообщение
по идее result должен содержать результат sql запроса
ну, вообще то, я не увидел где Ты его объявлял, но не проще ли сразу проверять?
Код:
if not ADOQuery1.IsEmpty then...
upd
по поводу Result - пропустил что это фнукция

Последний раз редактировалось maLoy*508; 12.12.2012 в 21:31.
maLoy*508 вне форума Ответить с цитированием
Старый 12.12.2012, 21:22   #26
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код в #30 если убрать строки указанніе в #31 внешне работоспособный.
Result - результат функции, Boolean, тоже не вижу проблем
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.12.2012, 21:25   #27
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
ну, вообще то, я не увидел где Ты его объявлял, но не проще ли сразу проверять?
Код:
if not ADOQuery1.IsEmpty then...
Попробовал
Код:
function TForm1.ItemByBarcode(const Barcode: string;
  var Item: TBarcodeItem): Boolean;
begin
ADOQuery1.SQL.Text:='SELECT Line1, Line2 FROM Base WHERE code = :Barcode';
  ADOQuery1.Parameters.ParamByName('Barcode').Value:= Barcode;
  ADOQuery1.Active:=true;
  if not ADOQuery1.IsEmpty then
  begin
    Item.Line1 := ADOQuery1.FieldByName('Line1').Value;
    Item.Line2 := ADOQuery1.FieldByName('Line2').Value;
  end;
end;
Та же ошибка операнда на строке if not ADOQuery1.IsEmpty then
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 21:52   #28
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Там скорее всего ошибка в предыдущей команде. Полный текст сообщения об ошибке в студию
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.12.2012, 22:00   #29
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Там скорее всего ошибка в предыдущей команде. Полный текст сообщения об ошибке в студию
First chance exception at $7732C41F. Exception class EOleException with message 'Operator/operand type mismatch'. Process Project1.exe (1596)

несоответствие типов вроде.
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 22:08   #30
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

code какой тип имеет в таблице
что конкретно передаете запросу в Barcode
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт данных из Access в Word, C# Miaka Помощь студентам 0 09.05.2012 17:32
Импорт-экспорт данных Excel-Access, и из Access-Excel Людвиг Microsoft Office Access 3 27.10.2011 14:38
экспорт данных из access в существующие файлы word и excel Margaret Microsoft Office Access 4 10.12.2010 15:44
Экспорт данных из SQL Server в Access Daniar БД в Delphi 0 02.12.2010 17:56