instr函数有什么毛病啊

SonicX 2004-01-28 12:33:00
if Instr(1,""&rs("topic")&"",content,1)<>0 then
……
……
……
end if

文本比较会出现 无效的过程调用或参数: 'instr'
郁闷……
各位有什么好办法,请指教

...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyuehen 2004-01-28
  • 打赏
  • 举报
回复
返回某字符串在另一字符串中第一次出现的位置。

InStr([start, ]string1, string2[, compare])
参数
start
可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果 start 包含 Null,则会出现错误。如果已指定 compare,则必须要有 start 参数。
string1
必选项。接受搜索的字符串表达式。
string2
必选项。要搜索的字符串表达式。
compare
可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。
设置
compare 参数可以有以下值:

常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。

返回值
InStr 函数返回以下值:

如果 InStr 返回
string1 为零长度 0
string1 为 Null Null
string2 为零长度 start
string2 为 Null Null
string2 没有找到 0
在 string1 中找到 string2 找到匹配字符串的位置
start > Len(string2) 0


照这样看来..可能是content为Null值..
纪俊 2004-01-28
  • 打赏
  • 举报
回复
Instr ==> InStr

会不会是这样子哈
我没注意这个问题以前
纪俊 2004-01-28
  • 打赏
  • 举报
回复
if Instr(1,""&rs("topic")&"",content,1)<>0 then与Instr(1,rs("topic"),content,1)>0 then
应该是一样的啊
try
Instr(1,"'"&rs("topic")&"'",content,1)>0 then
TrueAndFalse 2004-01-28
  • 打赏
  • 举报
回复
if Instr(1,"&rs("topic")&","content",1)<>0 then
……
……
……
end if
SonicX 2004-01-28
  • 打赏
  • 举报
回复
不是格式问题,我把rs("topic")存在变量里,再用Instr还是会出错
紫玄青 2004-01-28
  • 打赏
  • 举报
回复
if Instr(1,""&rs("topic")&"",content,1)<>0 then
……
……
……
end if


应该是格式写错了。Instr(1,rs("topic"),content,1)>0 then
SonicX 2004-01-28
  • 打赏
  • 举报
回复
又测试了N次,发现如果rs("topic")中含有日文字符再进行文本比较就会出错,算BUG吗?
改成 if Instr(LCase(""&rs("topic")&""),LCase(content))<>0 then 没问题了

TO xiaoyuehen
即使content为Null值最多被判为false,整个执行过程不会中断,应该不是你想的那样

TO TrueAndFalse
没话说了……

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧