l5mygirl 发表于 2010-3-20 18:16:46

[已解决]多重查询出错,到底是哪里出错了?

本帖最后由 l5mygirl 于 2010-3-23 19:42 编辑

http://www.autoitx.com/attachment.php?aid=NzgzOXxmMGI2Yzg2ZHwxMjY5MDc2MTgyfDQzNTJjM1ZsUHk1MlV6eUlXSjZjSUhTQno3UnVHWEhheU5UQVd1ZlJ3SDcxZGVz&noupdate=yes


$m = $m &$y&'="'& GUICtrlRead($ninput[$i]) & '"and'
; msgbox输出为 字段1='XXX' and 字段2='xxx' and

$RS.open("select * from 设备档案 where '& StringTrimRight($m, 3) & ' ")
谁能帮帮我啊,,为什么一点查询结果还是显示的所有记录?

(刚刚学AU3,什么都不懂,只是想用原来的添加,修改框做一个多重查询.不知道怎么弄啊..)

131738 发表于 2010-3-20 18:50:08

回复 1# l5mygirl

怎么又出现求帮助还收费的。。。。。。。

l5mygirl 发表于 2010-3-20 18:51:03

本帖最后由 l5mygirl 于 2010-3-20 18:52 编辑

没人搭理我,所以我想设置成悬赏的...SORRY..
帮帮忙啊,这问题烦我大半天了..

水木子 发表于 2010-3-20 19:18:09

不介意的话,是不是把代码放上来看看呢?

l5mygirl 发表于 2010-3-20 19:47:38

本帖最后由 l5mygirl 于 2010-3-22 14:16 编辑

因为刚刚学AU3,所以好多东西看不懂,这个代码是两段代码拼的...(主要就是 chaxun( ) ),

我想利用"添加,删除..."的输入框做一个复合查询.一直出问题...帮帮忙

masterpcc 发表于 2010-3-20 20:32:55

新手学习中!!顶一个

auto 发表于 2010-3-20 21:27:08

sqlstr写法不正确
run之前msgbox看看语句对不对

l5mygirl 发表于 2010-3-21 08:57:28

回复 7# auto


    "StringTrimRight($m, 3)"
是这个吗?msgbox的输出最后面会多出一个a,不知道哪里问题,改成
StringTrimRight($m, 4)后输出没有问题了(字段1='ABC' ),但查询的问题依然存在...(点查询会输出所有记录,就是没有做查询这个动作.)

这个问题今天一定要解决.谁帮帮我啊..谢谢了.

auto 发表于 2010-3-21 22:37:26

源码和数据库打包上传

l5mygirl 发表于 2010-3-22 14:04:25



这个是源程序包.

298311657 发表于 2010-3-22 14:23:00

$RS.open("select * from 设备档案 where '& StringTrimRight($m, 4) &'")
这条语句明显是有问题的,AU3的函数StringTrimRight被包含到sql脚本语句中去了,你根本没办法取到变量$m删除右边4位后的字符串

应该这样写才正确
$RS.open("select * from 设备档案 where '"& StringTrimRight($m, 4) &"'")

auto 发表于 2010-3-22 19:44:33


应该是StringTrimRight用错了,还有注意单双引号的引用

l5mygirl 发表于 2010-3-22 20:57:00

本帖最后由 l5mygirl 于 2010-3-22 21:02 编辑

$RS.open("select * from 设备档案 where '& StringTrimRight($m, 4) &'")
这条语句明显是有问题的,AU3 ...
298311657 发表于 2010-3-22 14:23 http://www.autoitx.com/images/common/back.gif

如果改成$RS.open("select * from 设备档案 where '"& StringTrimRight($m, 4) &"'") 输入内容查询的话就报错,提示"请求动作失败(请求于对象)"




应该是StringTrimRight用错了,还有注意单双引号的引用
auto 发表于 2010-3-22 19:44 http://www.autoitx.com/images/common/back.gif

因为input的数量是不确定的,所以用$ninput[$c] 表示每个输入框, 因为有不确定为空的输入框,所以$RS.open("select * from 设备档案 where 设备编号='"&StringLeft(StringStripWS($Input1,8),3)&"' And 使用部门='"&StringLeft(StringStripWS($Input2,8),3)&"'") 这个语句会不会出错?
:face (22):


下面这个是我修改的,还是出错.

auto 发表于 2010-3-22 21:38:13

本帖最后由 auto 于 2010-3-22 21:42 编辑

这个试过是没问题,这只是单个
不想知道你的意思是不是input1= 100 101 102 同时查询三个值 input2 = xxx zzz
即是(input1=100 or input1=101 or input1=102) and (intput2= xxx or intput2= zzz)??   
还是说考虑空值的情况??

因为有不确定为空的输入框???
看不懂你要查什么了。。。

auto 发表于 2010-3-22 22:00:00


已修改好,看看是不是要这样的效果
页: [1] 2
查看完整版本: [已解决]多重查询出错,到底是哪里出错了?