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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 22:14   #31
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
code какой тип имеет в таблице
что конкретно передаете запросу в Barcode
В таблице тип NUMERIC, Barcode кроме цифр ничего не содержит. На всякий поменял уже тип поля code на character - ошибка бла бла не могу преобразовать num в string. По идее все ОК тогда.

Sorry! Вот текст ошибки
First chance exception at $7732C41F. Exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'. Process Project1.exe (2780)
Тип Ноль получается. Но как так??

Если важно, использую Visual FoxPro OLE DB Provider.

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

null - это не ноль, это пусто...
значение пустое получается
maLoy*508 вне форума Ответить с цитированием
Старый 12.12.2012, 22:28   #33
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
null - это не ноль, это пусто...
значение пустое получается
Вотафакблин ничего не работает значит. Поиск не пашет!
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 22:31   #34
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
В таблице тип NUMERIC, Barcode кроме цифр ничего не содержит
Если в таблице NUMERIC, зачем Barcode String? Не важно, что там одни цифры. Сделайте Barcode Integer если пользуетесь Parameters
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.12.2012, 22:31   #35
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Нашел косяк свой

Цитата:
Сообщение от Аватар Посмотреть сообщение
Если в таблице NUMERIC, зачем Barcode String? Не важно, что там одни цифры. Сделайте Barcode Integer если пользуетесь Parameters
простите, уже плохо улавливаю как как это прописать в параметрах??

Последний раз редактировалось Stilet; 16.12.2012 в 12:38.
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 22:41   #36
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

function TForm1.ItemByBarcode(const Barcode: Integer; var Item: TBarcodeItem): Boolean;
Соответственно и обращение к функции поменяйте

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

Цитата:
Сообщение от Аватар Посмотреть сообщение
function TForm1.ItemByBarcode(const Barcode: Integer; var Item: TBarcodeItem): Boolean;
Соответственно и обращение к функции поменяйте
Код:
procedure TForm1.DataEvent(Sender: TObject; const Data: WideString;
  SenderID: Integer);

  function GetBarcode(const Data: string): string;
  var
    i: Integer;
  begin
    Result := '';
    for i := 1 to Length(Data) do
    begin
      if Ord(Data[i]) >= $20 then Result := Result + Data[i]
      else Break;
    end;
  end;

var
  Barcode: string;
  Item: TBarcodeItem;
begin
  PriceChecker1.SenderID:= SenderID;
  Barcode := GetBarcode(Data);
  if ItemByBarcode(Barcode, Item) then
  begin
    PriceChecker1.Line1 := Item.Line1;
    PriceChecker1.Line2 := Item.Line2;
    Label3.Caption := Item.Line1;
  end else
  begin
    PriceChecker1.Line1 := 'Товар';
    PriceChecker1.Line2:= 'Не найден';
  end;
  PriceChecker1.SendAnswer;
end;
Data:string

ну что, это конец?=((

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

а в чем сейчас вопрос?
maLoy*508 вне форума Ответить с цитированием
Старый 12.12.2012, 23:37   #39
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И что вы показали? Повторяю, если Code NUMERIC, а Barcode String, то
Код:
ADOQuery1.Parameters.ParamByName('Barcode').Value:= Barcode;
всегда будет давать ошибку во время Actve:=True
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.12.2012, 23:52   #40
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
а в чем сейчас вопрос?
несответствие типов Int и str не преодолеть никак?

Код:
function TForm1.ItemByBarcode(const Barcode: string;
  var Item: TBarcodeItem): Boolean;
  var q:integer;
begin
q:=StrToInt('Barcode');
ADOQuery1.SQL.Text:='SELECT Line1, Line2 FROM Base WHERE code = :Barcode';
  ADOQuery1.Parameters.ParamByName('Barcode').Value:= q;
  ADOQuery1.Active:=true;
 if not ADOQuery1.IsEmpty then
  begin
    Item.Line1 := ADOQuery1.FieldByName('Line1').Value;
    Item.Line2 := ADOQuery1.FieldByName('Line2').Value;
  end;
end;
попробовал это, не знаю насколько вообще грамотно, но не сработало
Kerby666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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