CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

请教一个从sql语句中取值的问题。谢谢 。。。

楼主luckjackie(永远不懂)2002-05-23 16:47:36 在 Delphi / VCL组件开发及应用 提问

ssql3:='select   count(*)   as   qq   from   tab_stafftrain   where   sta_id='''+EdtSta_id.Text+'''   and   cur_id='''+EdtCur_id.Text+'''   ';  
              with   datamodule1.CDS_Total   do  
                      begin  
                              try  
                                    close;  
                                    commandtext:=ssql3;  
                                    open;  
                              except  
                                    showmessage('不能打開數據庫!');  
                              end;  
              end;  
            showmessage(inttostr(datamodule1.CDS_Total.FieldByName   ('qq').asinteger));     ---->此句报错‘field   value   'qq'out   of   range   ’  
   
      SQL   PLUS中运行的结果为:1  
   
      在datamodule1的组件CDS_Total中加入计算字段qq   也不行(此时值为0   )??  
  这样的问题大家肯定遇到过,请指点。。。。。  
   
  问题点数:40、回复次数:9Top

1 楼dreamfan(改行不做程序员,回家种地。)回复于 2002-05-23 16:57:30 得分 1

你的计算字段是怎么加的?Top

2 楼fyje(云中仙)回复于 2002-05-23 17:05:38 得分 24

ssql3:='select   count(*)   as   qq   from   tab_stafftrain   where   sta_id='''+EdtSta_id.Text+'''   and   cur_id='''+EdtCur_id.Text+'''   ';  
  这一句,如果sta_id、cur_id为整型的话,此句改成  
  ssql3:='select   count(*)   as   qq   from   tab_stafftrain   where   sta_id='+EdtSta_id.Text+'   and   cur_id='+EdtCur_id.Text+';  
   
  showmessage(inttostr(datamodule1.CDS_Total.FieldByName   ('qq').asinteger));     改成:    
  showmessage(datamodule1.CDS_Total.FieldByName   ('qq').asstring);Top

3 楼Snakeguo(Guoguo)回复于 2002-05-23 17:07:21 得分 2

是不是qq的值太大,越界了?  
  试一下换成  
  showmessage(datamodule1.CDS_Total['qq']);Top

4 楼sandyen(杉叶)回复于 2002-05-23 17:08:13 得分 1

你知道怎么修改记录吗?  
  谢谢Top

5 楼luckjackie(永远不懂)回复于 2002-05-23 17:08:32 得分 0

在datamodule1的组件CDS_Total中加入呀,   type為   integer  
      field   type   為   calculated    
  Top

6 楼luckjackie(永远不懂)回复于 2002-05-23 17:19:01 得分 0

to:     fyje(冬原)      
        不對.  
  to   :     snakeguo(枫)    
        count(*)值為1,不可能越界.  
   
   
  Top

7 楼ihihonline(潇潇->戒烟)回复于 2002-05-23 17:43:36 得分 12

我相信,如果您要是在SQL   Server里执行这句应该是对的,但是,如果在一个固定的数据集里执行的话,如果您又没有给这个数据集ADD列的话,那么肯定是错的了;Top

8 楼luckjackie(永远不懂)回复于 2002-05-23 18:40:02 得分 0

to     ihihonline(小小->充电中……)   :  
      两层结构的程序没有问题,三层结构的程序为何就出错呢     ?Top

9 楼luckjackie(永远不懂)回复于 2002-05-23 19:03:11 得分 0

?  
  Top

相关问题

  • 这样的SQL语句该怎么写(从结果集中取出过滤取值)
  • 求一条简单的sql语句跨数据库取值
  • 请教SQL语句 不知道用什么函数取值~~ 谢谢赐教~
  • 如何才能得到一字段的所有不同取值,求一SQL语句!
  • update 语句能不能取值?
  • 用sql语句查询的时候,返回值为xml格式的,就是在正常 语句后面加了for xml auto,elements,要怎么取值呢?
  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?

关键词

  • sql
  • datamodule1
  • edtcur
  • edtsta
  • stafftrain
  • ssql3
  • showmessage
  • fieldbyname
  • qq
  • total

得分解答快速导航

  • 帖主:luckjackie
  • dreamfan
  • fyje
  • Snakeguo
  • sandyen
  • ihihonline

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo