找回密码
 加入
搜索
查看: 2799|回复: 18

access数据库查询奇怪的问题

[复制链接]
发表于 2009-6-18 22:47:23 | 显示全部楼层 |阅读模式
本帖最后由 cat129 于 2009-6-19 22:49 编辑

$RS.Open ("Select * From "&$table&"' where id=" & $js)
刚有个高手帮我解决了变量表的问题 但是上面这个查询结果好奇怪,不管$js怎么变查询结果都是同一个值 真怪了,把$table换成表的名称就正常 真让我摸不着头脑!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-18 23:03:01 | 显示全部楼层
$RS.Open ("Select * From "&$table&" where id=" & $js)
不知道是不是还这个问题呢?
发表于 2009-6-18 23:17:42 | 显示全部楼层
上面多了一个'号,也能run?
附上数据表和其它源码
 楼主| 发表于 2009-6-18 23:42:48 | 显示全部楼层
2# gaofali258

对 还是这个问题 数据表是访问到了 但是$js怎么变查询结果都一样
 楼主| 发表于 2009-6-18 23:49:42 | 显示全部楼层
$js=1
$table="临时表"
$addfld = ObjCreate("ADODB.Connection")
                  $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=aaa.mdb)
                  $RS =ObjCreate("ADODB.Recordset")
                  $RS.ActiveConnection = $addfld
                  $RS.Open ("Select * From "&$table&"' where id=" & $js)
                   if @error =1 Then ExitLoop
                   $account=$RS.Fields ("account").value
msgbox(0,"dd",$account)
上面是源码,每次对话框都显示第五条记录的account值,数据库是access
真是奇怪了
 楼主| 发表于 2009-6-18 23:52:49 | 显示全部楼层
回复 auto 说多了一个' ,我原来也没用这个' 就访问不了数据表,显示出错,是gaofali258给我加的'就可以访问了,但是出现这个奇怪现象
 楼主| 发表于 2009-6-19 08:27:26 | 显示全部楼层
我觉得可能这样写使得where语句失效了,因为这样写和不要where语句得的效果是一样的,也就是说这句相当于$RS.Open ("Select * From " & $table),所以记录集的指针自动定位在某个记录,看来是不是这个格式不对啊,但是写成$RS.Open ("Select * From "&$table&" where id=" & $js)这样根本运行不了啊。
发表于 2009-6-19 11:17:38 | 显示全部楼层
你没有定位游标
$RS.Open ("Select * From " & $table) 应该可以的,因为游标默认在第一条记录
$RS.Open ("Select * From " & $table&" where id=5",1,1);随意移动不锁定
$RS.Open ("Select * From " & $table&" where id=5",1,3);锁定,更新记录权限
$RS.Open ("Select * From " & $table&" where id=5",3,3);锁定,其它人不能访问。
 楼主| 发表于 2009-6-19 11:50:36 | 显示全部楼层
我试验的结果是$RS.Open ("Select * From " & $table) 可以访问 但是游标指向不是默认第一位。
用这个$RS.Open ("Select * From " & $table&" where id=5",1,1)直接提示错误:请求动作失败,和用$RS.Open ("Select * From " & $table&" where id=5")提示一样
 楼主| 发表于 2009-6-19 15:14:36 | 显示全部楼层
我真怀疑是不是变量做表名不能够用where语句啊,照理来说("Select * From " & $table&" where id=5")这个语句应该格式对了啊 ,怎么访问不到呢 真奇怪。
发表于 2009-6-19 17:34:58 | 显示全部楼层
我这里使用ACCESS数据库测试了下 没有发现楼主所说的问题
楼主可以上传下数据库和程序源码来看看
 楼主| 发表于 2009-6-19 20:27:36 | 显示全部楼层
附上数据库和源码 请大家帮忙试一下
 楼主| 发表于 2009-6-19 22:13:24 | 显示全部楼层
id改成a也是一样的啊 或者你把id改成b或者c,把$js改成相应的值试试看
 楼主| 发表于 2009-6-19 22:15:23 | 显示全部楼层
我后来把id字段改成a我忘记改回来了
发表于 2009-6-19 22:31:39 | 显示全部楼层
测试通过 没有问题 你出问题的原因在于那个单引号没删掉
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 18:37 , Processed in 0.085500 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表