var s : string; s:=adoquery1.fieldbyname('列名').AsString; 这delphi7的语句会产生什么异常?

应该是产生什么类型的异常... 应该是产生什么类型的异常 展开
 我来答
手机用户39171
2011-09-05 · TA获得超过259个赞
知道答主
回答量:366
采纳率:0%
帮助的人:216万
展开全部
FieldByName 是 数据库控件的属性, 意思是名称指定字段。‘菜单项’是表内的字段名;
.asstring 是以字符形式表示。
copy 是字符串函数,格式是copy('字符串',开始字符,几个字符)
例如 copy('abcd',2,1) 的返回值 是b 意思就是 字符串 abcd 第二个字母开始取,取一个字母。
strtoint 是将字符串转换为整型数
a := strtoint(copy(FieldByName('菜单项').Asstring,1,1));
这句话的意思就是
字段'菜单项'的当前值,从第一个字符开始取值,取一个字符,得到的结果从字符型转为整形并赋值给变量a

以上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdszyc927
2011-09-05 · 超过18用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:40.8万
展开全部
var s : string; s:=adoquery1.fieldbyname('列名').AsString; 不会抛出异常
var s : string; s:=adoquery1.fieldbyname('列名').Value;就会抛出类型不匹配的异常了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu55721
2011-09-05 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:877万
展开全部
如果"列名"在你SQL语句中找不到,或者表中压根就没有这个字段,就会抛出找不到"列名"字段的异常.
追问
是什么类型的异常???还有,如果列存在,但是里面没有值,又会出现什么异常?
追答
说不上是什么类型,前者报字段找不到,后者报把NULL空值赋值给出变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式