![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Could not convert variant of type (null) into type (Olestr)" [D7]
Mamed © (2007-06-29 15:12:00)U menya problema s ADOQuery. est connection v bazu MSacces. pisu sql kak nachinaetysa vipolnyatsya ADOQuery.Active:=true
to daet osibki "Could not convert variant of type (null) into type (Olestr)" i samoe ploxoene vesgda osibku daet. 50 na 50
Kod Takoy
Dm.QactionAcces.Active:=False;
DM.DBConnAcc.Connected:=false;
DM.QactionAcces.Connection:=DM.DBConnAcc;
DM.DBConnAcc.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\K&K Production Data Base.mdb;Persist Security Info=False';
Try
DM.DBConnAcc.Connected:=true;
DM.QactionAcces.SQL.Clear;
DM.QactionAcces.SQL.Append('SELECT PRODDATE,OIL,GAS,WATER FROM [KRB Monthly Production for Klaus] WHERE WELLNAME="K0001" ');
if p_proddatefilter1>0 Then
Begin
DecodeDate(p_proddatefilter1,y,m,d);
str(y,ys);
str(m,ms);
str(d,ds);
Ys:='Dateserial('+ys+','+ms+','+ds+')';
DM.QactionAcces.SQL.Append(' AND PRODDATE>='+ys);
end;
if p_proddatefilter2>0 Then
Begin
DecodeDate(p_proddatefilter2,y,m,d);
str(y,ys);
str(m,ms);
str(d,ds);
Ys:='Dateserial('+ys+','+ms+','+ds+')';
DM.QactionAcces.SQL.Append(' AND PRODDATE
Mamed (2007-07-02 12:57:00) [1]никака не помагло.
Anatoly Podgoretsky (2007-07-02 12:02:00) [2]> Mamed (02.07.2007 11:30:14) [14]
Удали на форме QactionAcces и жобавь овый и ничего не делай кроме изменения имени
Mamed (2007-07-02 11:30:00) [3]есть object DBConnAcc(AdoConnection) который соединяется в базу MS Acces.
есть object QactionAcces(AdoQuery) который выполняут SQL через DBConnAcc.Вес код такой:
QactionAcces.Active:=False;
DBConnAcc.Connected:=false;
QactionAcces.Connection:=DBConnAcc;
DBConnAcc.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\K&K Production Data Base.mdb;Persist Security Info=False';
DBConnAcc.Connected:=true;
QactionAcces.SQL.Clear;
QactionAcces.SQL.Append('SELECT PRODDATE,OIL,GAS,WATER FROM [KRB Monthly Production for Klaus] WHERE WELLNAME="K0001" ');
QactionAcces.Actıve:=true
при выполнения кода QactionAcces.Actıve программа выдет ощибку
"Could not convert variant of type (null) into type (Olestr)"
sniknik (2007-07-02 11:01:00) [4]> Pomagite kto smojet...
могут то многие, но вот читать транслит... больше 3 слов "нэ понэмау".
напиши по человечески (и не говори что не можеш/нет раскладки/т.д. т.к. есть различные виртуальные клавиатуры на любой язык).
Mamed (2007-07-02 10:44:00) [5]Pomagite kto smojet...
Mamed (2007-06-30 07:40:00) [6]izvinite ya po russkuyu gramatiku ne tak uj xoroso znayu. nauchilsya tolko razgovornomu rechu)
Dannie est.verxniy kod napisan v odnoy procedure. Objecti Dm.QactionAcces i DM.DBConnAcc ispolzovani tolko v etoy procedure. kak vidno v nachale procedure
u objecta Dm.QactionAcces delaetysa SQL.Clear SQl.Append a DM.DBConnAcc delaetsya disconnect pisu conenction string coedinyayu i t d... no v stroke
Dm.QactionAcces.Active:=True programma inogda daet osibku. prichem eto ne na vsex kompyuterax. u moego vse normalno no u clienta osibka.
Плохиш (2007-06-29 20:55:00) [7]
> to daet to ne daet osibku
То есть данные, то нет. Прикольная такая база...
PS. Офигенно приятно читать самодельный транслит, да ещё с грамматическимо ошибками...
Mamed (2007-06-29 16:45:00) [8]i samoe ploxot to chot najimayu knopku poluchayu osibku esho raz najimayu osibka ne vixodit vse normalno. to daet to ne daet osibku
pavel_guzhanov (2007-06-29 16:14:00) [9]Значение какого-то поля ты помещаешь в переменную типа olestr. Иногда это поле пустое, пустое значение невозможно преобразовать в olestr. Об этом и говорит ошибка. Только вот где у тебя такое преобразование происходит, из приведенного кода не видно
Mamed (2007-06-29 15:44:00) [10]v Acces databese PRODDATE datetime,OIL i WATER single a WELLNAME Text ovogo tipa
Mamed (2007-06-29 15:43:00) [11]Nikakie. tolko chitayu s Adoquery i vse dannie perepisivayu v Memarytable
DM.QactionAcces.Active:=true;
if DM.QactionAcces.RecordCount>0 Then
Begin
Mdata.Active:=False;
Mdata.Active:=True;
While Not DM.QactionAcces.Eof do
Begin
Mdata.Append;
Mdata.FieldByName('DATE_').asdatetime:=DM.QactionAcces.Fieldbyname('PRODDATE').a sdatetime;
Mdata.Fieldbyname('X').AsFloat:=DM.QactionAcces.Fieldbyname('OIL').asfloat;
Mdata.Fieldbyname('Y').AsFloat:=DM.QactionAcces.Fieldbyname('WATER').asfloat;
Mdata.Post;
DM.QactionAcces.Next;
End;
if not p_showdata Then
Begin
ImportFRomAcces:=ImportData(p_wellno,pworkshop,Mdata);
Mdata.Active:=False;
end
else
ImportFRomAcces:=0
end
Else
ImportFRomAcces:=2;
Ega23 (2007-06-29 15:36:00) [12]RfКакие визуальные компоненты связаны с DataSet?
Mamed (2007-06-29 15:25:00) [13]Nikakix sobitiy net. prosto AdoQuery i Adoconnection.
Плохиш (2007-06-29 15:22:00) [14]События OnAfterOpen, OnBeforeScroll, OnAfterScroll...
Mamed (2007-06-29 15:19:00) [15]Problema v tom chto DM.QactionAcces nichevo ne dalyu
osibka vixodit pryama posle DM.QactionAcces.Active:=true;
Плохиш (2007-06-29 15:17:00) [16]Отвратительное оформление поста :@ Отвечающих желательно хоть немного уважать. Весь, приведённый код для решения проблемы бесполезен. Проверяй, что делаешь в обработчиках событий у своей QactionAcces.