DBChart画线的问题(急,急,急) 有没有人呀,快急疯了,我知道是为什么了就是还不知道怎么解决,帮帮忙吧 ( 积分: 10 )

  • 主题发起人 主题发起人 caisunyujia
  • 开始时间 开始时间
C

caisunyujia

Unregistered / Unconfirmed
GUEST, unregistred user!

要在dbchart1上画线,横坐标是时间00:00:00开始到23:59:59结束,纵坐标是温度,涉及两个表user(username,add),add是username的编号,data(add,data(datetime型),temperature),我是想查询出dbcombobox中选中的值(也就是username)等于通过add使user和data这两个表连接起来的username并且datetimepicker1中选中的日期等于data表中data字段的日期,就是想查询出我通过dbcombobox1选中的username在我datetimepicker1中选中的日期的那一天从00:00:00到23:59:59的各个时间的temperature值,用这些值来画dbchar1的曲线,可就是这条线出不来,可以说dbchart1一点反映都没有,高手们帮看看是哪出错了
with datamodule2 do
begin
query1.close;
query1.sql.clear;
query1.sql.text:='select user.username,data.datatime,data.temperature from user inner join data on user.add=data.add where user.username='''+DBComboBOx1.text+''' and cast(data.datatime as char(10))='''formatdatetime('yyyy-mm-dd',datetimepicker1.date)+'''';
try
query1.open;
except
query1.execsql;
end;
while not datamodule2.query1.eof do
begin
dbchart1.series[0].datasource=datamodule2.datasource3;
dbchart1.series[0].addxy(datamodule2.datasource3.dataset.fields[1].asdatetime,datamodule2.datasource3.dataset.fields[2].asinteger,'',clred);
dbchart1.series[0].checkdatasource;
dbchart1.series[0].active:=true;
dbchart1.autorefresh:=true;
datamodule2.datasource3.dataset.next;
end;
end;
end;
怎么dbchart1一点反映都没有呢,高手帮看看,就这点分了,求大家了
我用dbgrid显示了一下,是没有结果,不知道是不是因为在sql中datetime型是默认的8位,我的cast(data.datatime as char(10))这块错了呢,那应该怎么改呢,使datatime 字段中的日期那部分等于datetimepicker中的日期呢,谢谢了
 

要在dbchart1上画线,横坐标是时间00:00:00开始到23:59:59结束,纵坐标是温度,涉及两个表user(username,add),add是username的编号,data(add,data(datetime型),temperature),我是想查询出dbcombobox中选中的值(也就是username)等于通过add使user和data这两个表连接起来的username并且datetimepicker1中选中的日期等于data表中data字段的日期,就是想查询出我通过dbcombobox1选中的username在我datetimepicker1中选中的日期的那一天从00:00:00到23:59:59的各个时间的temperature值,用这些值来画dbchar1的曲线,可就是这条线出不来,可以说dbchart1一点反映都没有,高手们帮看看是哪出错了
with datamodule2 do
begin
query1.close;
query1.sql.clear;
query1.sql.text:='select user.username,data.datatime,data.temperature from user inner join data on user.add=data.add where user.username='''+DBComboBOx1.text+''' and cast(data.datatime as char(10))='''formatdatetime('yyyy-mm-dd',datetimepicker1.date)+'''';
try
query1.open;
except
query1.execsql;
end;
while not datamodule2.query1.eof do
begin
dbchart1.series[0].datasource=datamodule2.datasource3;
dbchart1.series[0].addxy(datamodule2.datasource3.dataset.fields[1].asdatetime,datamodule2.datasource3.dataset.fields[2].asinteger,'',clred);
dbchart1.series[0].checkdatasource;
dbchart1.series[0].active:=true;
dbchart1.autorefresh:=true;
datamodule2.datasource3.dataset.next;
end;
end;
end;
怎么dbchart1一点反映都没有呢,高手帮看看,就这点分了,求大家了
我用dbgrid显示了一下,是没有结果,不知道是不是因为在sql中datetime型是默认的8位,我的cast(data.datatime as char(10))这块错了呢,那应该怎么改呢,使datatime 字段中的日期那部分等于datetimepicker中的日期呢,谢谢了
 
怎么没人理我呀,是不是嫌分少,我再开帖子加
我真的愁死了,这条曲线一个星期了也没出来,我下面什么也干不了,求求各位高手救救小妹吧,我已经很努力的学了,可是我真的不会.呜呜呜
 
有没有人呀,求求各位了,对于你们很简单的问题,帮帮忙吧,这么多天了,再弄不出来,后果掺了.
 
1.首先你要保证query1查出来是有记录的
2.这句话是什么意思
while not datamodule2.query1.isempty do
换成这句试试:
while not datamodule2.query1.eof do
 
我怎么才能看query1查的是不是有结果呢
 
用dbgrid显示出来吧
 
你的程序要多些注释。
 
后退
顶部