if Length(DataModule1.ADOQryExamine.FieldByName('身份证号').AsString)<>15 or Length(DataModule1.ADOQryExamine.FieldByName('身份证号').AsString)<>18 then
beginend;
目的就是判断“身份证号”是不是15位或者18位的,不是的话就执行下面的语句,
编译错误提示ncompatible types,我不知道哪里错啊,哈哈
谢谢!!
beginend;
目的就是判断“身份证号”是不是15位或者18位的,不是的话就执行下面的语句,
编译错误提示ncompatible types,我不知道哪里错啊,哈哈
谢谢!!
解决方案 »
- 求助:向各位大哥请教几个 TstringGrid 问题,谢谢!
- 为什么有时程序退出后(界面已经没了),还在内存内驻留,一定要通过任务管理器中结束相应进程才行?
- 我窗体最小化时会在桌面的左下角出现一个小窗口,而不是完全隐藏,怎么办呢?
- 如何在同一个from中显示两个相同的frame
- 这几个处理消息的方法的顺序是什么啊!!!???
- 如何截获DBGRID的滚动条的点击、移动事件
- Windows版本号
- 小弟发表在csdn的第一篇文章,水平不高请指教:《打造Delphi中字符串的replace函数》
- 100分,^_^ 存储过程中的sql语句的变量传送
- 字体问题??????????????????
- 抢分: 谁见过这样的控件!??
- 剪贴板和控件句柄!!!!(调试通过立刻给分)
beginend;呵呵,这可能是个常犯的错误
iLen:integer;
begin
iLen:=Length(DataMdule1.AdoQryExamine.FieldbyName('身份证号').AsString);
if (iLen<>15) and (iLen<>18) then
begin
end;
end;不要用 or 哦,否则,永远不成立的 :)
他的是对的
beginend;
少括号
还有,你这样的代码,当刚好是15或者18时也会运行,注意是用OR 还是AND
if Length(DataModule1.ADOQryExamine.FieldByName('身份证号').AsString)<>15 and Length(DataModule1.ADOQryExamine.FieldByName('身份证号').AsString)<>18 then
beginend;
if (Length(DataModule1.ADOQryExamine.FieldByName('身份证号').AsString)<>15) and (Length(DataModule1.ADOQryExamine.FieldByName('身份证号').AsString)<>18) then
beginend;