cat129 发表于 2009-6-18 22:47:23

access数据库查询奇怪的问题

本帖最后由 cat129 于 2009-6-19 22:49 编辑

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

gaofali258 发表于 2009-6-18 23:03:01

$RS.Open ("Select * From "&$table&" where id=" & $js)
不知道是不是还这个问题呢?

auto 发表于 2009-6-18 23:17:42

上面多了一个'号,也能run?
附上数据表和其它源码

cat129 发表于 2009-6-18 23:42:48

2# gaofali258

对 还是这个问题 数据表是访问到了 但是$js怎么变查询结果都一样

cat129 发表于 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
真是奇怪了

cat129 发表于 2009-6-18 23:52:49

回复 auto 说多了一个' ,我原来也没用这个' 就访问不了数据表,显示出错,是gaofali258给我加的'就可以访问了,但是出现这个奇怪现象

cat129 发表于 2009-6-19 08:27:26

我觉得可能这样写使得where语句失效了,因为这样写和不要where语句得的效果是一样的,也就是说这句相当于$RS.Open ("Select * From " & $table),所以记录集的指针自动定位在某个记录,看来是不是这个格式不对啊,但是写成$RS.Open ("Select * From "&$table&" where id=" & $js)这样根本运行不了啊。

akmm88 发表于 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);锁定,其它人不能访问。

cat129 发表于 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")提示一样

cat129 发表于 2009-6-19 15:14:36

我真怀疑是不是变量做表名不能够用where语句啊,照理来说("Select * From " & $table&" where id=5")这个语句应该格式对了啊 ,怎么访问不到呢 真奇怪。

大绯狼 发表于 2009-6-19 17:34:58

我这里使用ACCESS数据库测试了下 没有发现楼主所说的问题
楼主可以上传下数据库和程序源码来看看

cat129 发表于 2009-6-19 20:27:36

附上数据库和源码 请大家帮忙试一下

cat129 发表于 2009-6-19 22:13:24

id改成a也是一样的啊 或者你把id改成b或者c,把$js改成相应的值试试看

cat129 发表于 2009-6-19 22:15:23

我后来把id字段改成a我忘记改回来了

大绯狼 发表于 2009-6-19 22:31:39

测试通过 没有问题 你出问题的原因在于那个单引号没删掉
页: [1] 2
查看完整版本: access数据库查询奇怪的问题