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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2010, 16:04   #1
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию Всавка NULL - проблема

Interbase
поле в таблице ДОПУСКАЕТ значение NULL
Пишу такой код:

Код:
dm.QPosition.SQL.Clear;
dm.QPosition.SQL.Add('Update TBL_POS set INVNUM=NULL where POSNAME='+PosFrom);
//dm.QPosition.ParamByName('Q').AsString:='';
dm.QPosition.ExecSQL;
В результате ошибка:
Изображения
Тип файла: jpg Ошибка.jpg (31.6 Кб, 39 просмотров)
Yuran вне форума Ответить с цитированием
Старый 22.09.2010, 16:35   #2
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Твоя ошибка к NULL никакого отношения не имеет.
По ссылке думаю долженбыть ответ на твой вопрос.
http://www.ibase.ru/devinfo/ibrusfaq.htm
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 22.09.2010, 17:04   #3
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

а что есть "Q" ???
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 22.09.2010, 18:20   #4
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

Q - сейчас просто коментарий
раньше было так
Код:
dm.QPosition.SQL.Add('Update TBL_POS set INVNUM=:Q where POSNAME='+PosFrom)
XeruH, ты прав. Хотя ссылка мне и не помогла, пришлось пересоздать таблицу.
Возникла другая ошибка. вот полный код
Код:
procedure TMoveF.Button1Click(Sender: TObject);
var s:string;
    PosFrom, PosTo:string;
    FromName, ToName:string;
    InvMov:string;
begin
        s:=dm.QInventarID.AsString;
InvMov:=dm.QInventarINVNUM.AsString;

dm.QPosition.Locate('INVNUM',dm.QInventarINVNUM.AsString,[]);

   posFrom:=dm.QPositionID.AsString; 
FromName:=dm.QPositionPOSNAME.AsString;

dm.QPosition.Locate('POSNAME',dm.QPosSearchPOSNAME.AsString,[]);

   PosTo:=dm.QPositionID.AsString;
ToName:=dm.QPositionPOSNAME.AsString;

dm.QInventar.SQL.Clear;
dm.QInventar.SQL.Add('update TBL_INV set DESTIN=:Q, MSTATUS=:W where id='+s);
dm.QInventar.ParamByName('Q').Value:=PosTo;
dm.QInventar.ParamByName('W').Value:=dm.QStatusKEY.AsInteger;
dm.QInventar.ExecSQL;

if PosTo<>'1' then
   begin
   dm.QPosition.SQL.Clear;
   dm.QPosition.SQL.Add('Update TBL_POS set INVNUM=:Q where ID='+PosTo);
   dm.QPosition.ParamByName('Q').Value:=InvMov;
   dm.QPosition.ExecSQL;
   end;
dm.QPosition.SQL.Clear;
dm.QPosition.SQL.Add('Update TBL_POS set INVNUM=NULL where ID='+PosFrom);
dm.QPosition.ExecSQL;

DM.QMove.SQL.Clear;
dm.QMove.SQL.Add('insert into TBL_MOVE (ACT, MOVEDATE, INVNUM, MFROM, MTO, MSTATUS, DESCR) values (:Q, :W, :U, :E, :R, :T, :Y)');
dm.QMove.ParamByName('Q').Value:='Ïåðåìåùåíèå';
dm.QMove.ParamByName('W').Value:=date;
dm.QMove.ParamByName('U').Value:=InvMov;
dm.QMove.ParamByName('E').Value:=FromName;
dm.QMove.ParamByName('R').Value:=ToName;
dm.QMove.ParamByName('T').Value:=dm.QStatusMSTAT.AsString;
dm.QMove.ParamByName('Y').Value:=' ';
dm.QMove.ExecSQL;
dm.TranS.Commit;

dm.QInventar.Close;
dm.QInventar.SQL.Clear;
dm.QInventar.SQL.Add('Select * from TBL_INV order by INVNUM');
dm.QInventar.Open;//ЗДЕСЬ ОШИБКА
dm.QInventar.Locate('ID',s,[]);

dm.QPosition.Close;
dm.QPosition.SQL.Clear;
dm.QPosition.SQL.Add('Select * from TBL_POS order by POSNAME');
dm.QPosition.Open;
dm.QPosition.Locate('ID',PosTo,[]);

dm.QPosSearch.Close;
dm.QPosSearch.SQL.Clear;
dm.QPosSearch.SQL.Add('Select ID, POSNAME, INVNUM from TBL_POS where INVNUM is Null order by POSNAME');
dm.QPosSearch.Open;
modalresult:=mrOk;
end;
И в чем блин проблема ?????

Последний раз редактировалось Stilet; 23.09.2010 в 10:20.
Yuran вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос с is null Ks2010 БД в Delphi 14 22.07.2010 21:50
null + число Dobriak-ru Microsoft Office Access 4 25.03.2010 08:27
пробел и NULL Николай Сергеевич Общие вопросы C/C++ 14 22.12.2009 08:48
Всавка записей в БД Классного журнала artemavd БД в Delphi 6 20.08.2009 15:33
Всавка из TImage в Excel или Word nevo Компоненты Delphi 6 09.10.2008 12:01