问题是这样的。打开窗口,然后点击“查询” 查询的语句是:
with ADOQuery_cx do
begin
close;
sql.Clear ;
sql.add('select * from cxinfo where riqi = #'+FormatDatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# ');
Open ;
end;
这样在DBGrid 里显示我想要的数据,然后点击“添加”, 数据是添加了,但是DBGrid没有更新。如果我再点击“查询”的话,程序报错:could not convert variant of type(null) into type (double)。 如果我关闭这个窗口,然后再打开这个窗口,点击“查询”, DBGrid 里就显示了添加后的数据。
奇怪的是每回如果打开窗口第一次点击“查询”什么问题都没有,就是不点击“添加”如果第二次点击“查询”,也会是同样的报错。
晕啊,不能每回都要关闭窗口,再打开吧。
还有,请指教怎样吧日期“11/29/08” 转换成“2008-11-29”
请大家指点。谢谢了。
with ADOQuery_cx do
begin
close;
sql.Clear ;
sql.add('select * from cxinfo where riqi = #'+FormatDatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# ');
Open ;
end;
这样在DBGrid 里显示我想要的数据,然后点击“添加”, 数据是添加了,但是DBGrid没有更新。如果我再点击“查询”的话,程序报错:could not convert variant of type(null) into type (double)。 如果我关闭这个窗口,然后再打开这个窗口,点击“查询”, DBGrid 里就显示了添加后的数据。
奇怪的是每回如果打开窗口第一次点击“查询”什么问题都没有,就是不点击“添加”如果第二次点击“查询”,也会是同样的报错。
晕啊,不能每回都要关闭窗口,再打开吧。
还有,请指教怎样吧日期“11/29/08” 转换成“2008-11-29”
请大家指点。谢谢了。
如果用query。append添加的不显示数据,那是因为你的过滤条件过滤调了could not convert variant of type(null) into type (double错误一搬是数据库中值为null造成的,“11/29/08” 转换成“2008-11-29”在sql中用convert,在delphi中就用FormatDatetime即可
能给个实例吗?我试过,没有成功。
谢谢
append不显示估计你的日期不在
'select * from cxinfo where riqi = #'+FormatDatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# ');
范围内
with ADOQuery_cx do
begin
close;
sql.Clear ;
sql.add('select * from cxinfo where riqi = #'+FormatDatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# ');
Open ;
end;
如果我再点击“查询”的话,程序报错:could not convert variant of type(null) into type (double)。 如果我关闭这个窗口,然后再打开这个窗口,点击“查询”, DBGrid 里就显示了数据。
奇怪的是每回如果打开窗口第一次点击“查询”什么问题都没有,就是不点击“添加”如果第二次点击“查询”,也会是同样的报错。
晕啊,不能每回都要关闭窗口,再打开吧。请大家指点。谢谢了。
可以使用showmessage等方法把sql语句show出来,放到access中看看!能否正确执行?
有问题要找到结点,总会有办法的。
尝试使用ctrl+f5 :查看变量的内容
ctrl+f7获取变量的值