DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: snarv12
今日帖子: 2
在线用户: 16
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 fj321 (321) ★☆☆☆☆ -
盒子活跃会员
2004/3/27 11:16:15
标题:
adoquery出错 浏览:1185
加入我的收藏
楼主: 当字段有为空时,就出错,提示不可把NULL赋给STRING类型,这要怎么办啊?
with adoquery1 do
      begin
      close;
        sql.Clear;
        try
        sql.add('select *from 通信录 where 所属用户=:yuanhu and 姓名=:xinmin');
        adoquery1.Parameters.parambyname('yuanhu').value:=label2.caption;
        adoquery1.Parameters.parambyname('xinmin').value:=edit19.text;
        adoquery1.Open;
          if   adoquery1.recordcount=0 then
          begin
           showmessage('此人不存在,请检查!');
          edit19.text:='';
          edit20.Text:='';
          edit21.Text:='';
          edit22.Text:='';
          edit23.Text:='';
          edit24.Text:='';
          edit25.Text:='';
          edit26.Text:='';
          edit27.Text:='';
          edit19.setfocus
          end
        else
          begin

          edit20.text:=adoquery1.fields[3].Value;
          edit21.text:=adoquery1.fields[4].Value;
          edit22.text:=adoquery1.fields[5].Value;
          edit23.text:=adoquery1.fields[6].Value;
          edit24.text:=adoquery1.fields[7].Value;
          edit25.text:=adoquery1.fields[8].Value;
          edit26.text:=adoquery1.fields[9].Value;
          edit27.text:=adoquery1.fields[10].Value;

         end;
         except
          sql.clear;

        end;
       end;

----------------------------------------------
-
作者:
男 easykey (悠游) ★☆☆☆☆ -
盒子活跃会员
2004/3/27 11:30:45
1楼: null当然不能赋给string类型了,赋值之前先做判断:
if NOT adoquery1.fields[3].IsNull then
  edit20.text:=adoquery1.fields[3].Value;
----------------------------------------------
按此在新窗口浏览图片
男儿贵展平生志,为国输忠合天地。甲穿虽则失黄金,剑缺犹能生紫气。塞草萋萋兵士苦,胡虏如今勿胡虏。封侯十万始无心,玉关生入君看取。

敬请光临 学海Delphi站
  http://delphi.studysea.net
学海无涯,让我们共同成长!
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/3/27 12:17:09
2楼: 直接用asstring强制转换就可以了!
建议使用fieldnyname!!!
edit20.text:=adoquery1.fieldnyname('field_x').asstring;

----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS