DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: palmcivetcn1
今日帖子: 17
在线用户: 6
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 happyfox (happyfox) ★☆☆☆☆ -
普通会员
2003/12/16 22:06:35
标题:
小黑兄弟看这个错误 浏览:1856
加入我的收藏
楼主: 错吴
此帖子包含附件:
JPEG 图像
大小:20.7K
----------------------------------------------
无论你是狮子还是羚羊,为了生存,你别无选择,你必须跑!
作者:
男 zizii (高高高级馒头) ★☆☆☆☆ -
神秘会员
2003/12/16 22:14:07
1楼: 代码中有一个整数变量='不能转换。
----------------------------------------------
维护世界和平,共创美好盒子。
作者:
男 heihei_76 (小黑) ★☆☆☆☆ -
盒子活跃会员
2003/12/17 7:53:10
2楼: 是啊,你用斷點跟蹤一下,它的錯誤是
比如:
var
  in1:integer;
  str1:string;
begin
  str1:='a1';    <--一個不能轉換成整數的字符
  in1:=strtoint(str1);  <--此時出錯
end;


var
  in1:integer;
  str1:string;
begin
  str1:='11';    <--要這種賦值
  in1:=strtoint(str1);  end;
----------------------------------------------
-

﹗﹗﹗
作者:
男 happyfox (happyfox) ★☆☆☆☆ -
普通会员
2003/12/17 9:38:53
3楼:  var
  i:integer;
  Str,s:String;
  SQLTime:boolean;

begin
  SQLTime:=True;
  s:='select * from jshjk.db where a<>nil';
  for i := 0 to jshjcx.ComponentCount-1 do
  begin
   try
    str:=jshjcx.Components[i].Name;
    if ((jshjcx.Components[i] is Tcombobox) //判断是不是COMBOBOX且不能为时间相关的组合框
    and((jshjcx.Components[i] as Tcombobox).text<>'))then
      if not((str=ComboboxYear.Name) or (str=ComboboxMonth.Name)
        or(str=ComboboxSecYear.Name)or (str=ComboboxSecMonth.Name) )then
        s:=s+' and '+copy(jshjcx.Components[i].Name,(Length(jshjcx.Components[i].Name)-3),4)+'='  //限制字段长度为了4
        +(jshjcx.Components[i] as Tcombobox).text
      else //如果时间相关的年份有数据的话
        if ((ComboboxYear.text<>')  and SQLTime)then
        begin
          s:=s+' and hjsj between :date1 and :date2';
          SQLTime:=false;
        end;
    if ((jshjcx.Components[i] is TEdit) //如果是文本框控件的话
      and((jshjcx.Components[i] as TEdit).text<>'))then
      s:=s+' and '+copy(jshjcx.Components[i].Name,(Length(jshjcx.Components[i].Name)-3),4)+'='  //限制了字段长度必须为4
      +(jshjcx.Components[i] as TEdit).text;
   except
     exit;
   end;

  end;
  showmessage(s); //用于测试,到这一步没问题,应是S相加之后在执行SQL时出的问题
end;
//设置完SQL语句之后开始查询
with query1 do
begin
  Close;
  SQL.Clear;
  SQL.Add(s);
  ParamByName('date1').AsDate:=
    EncodeDate(StrToInt(ComboBoxYear.Text),StrToInt(ComboBoxMonth.Text),1);
  ParamByName('date2').AsDate:=
    EncodeDate(StrToInt(ComboBoxSecYear.Text),StrToInt(ComboBoxSecMonth.Text),30);
  prepare;
  open;
end;

如果在列表框中只选择一个教师组别数据也出错.
此帖子包含附件:
JPEG 图像
大小:53.7K
----------------------------------------------
无论你是狮子还是羚羊,为了生存,你别无选择,你必须跑!
作者:
男 dingning (丁宁) ★☆☆☆☆ -
盒子活跃会员
2003/12/17 9:42:34
4楼: 可以使用控件不用那末多的下拉列表框
----------------------------------------------
-愿天下有情人终成眷属!
http://www.pro-thinking.com/bbs/
作者:
男 heihei_76 (小黑) ★☆☆☆☆ -
盒子活跃会员
2003/12/17 10:46:43
5楼: 你能把此時的sql語句顯示出來看看嗎﹖,就是說﹐你不執行execsql或open。
顯示query1.sql.text出來看看﹐
----------------------------------------------
-

﹗﹗﹗
作者:
男 happyfox (happyfox) ★☆☆☆☆ -
普通会员
2003/12/23 18:48:29
6楼: 谢谢各位兄弟问题已经解决了
----------------------------------------------
无论你是狮子还是羚羊,为了生存,你别无选择,你必须跑!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行85.9375毫秒 RSS