access数据库查询奇怪的问题
本帖最后由 cat129 于 2009-6-19 22:49 编辑$RS.Open ("Select * From "&$table&"' where id=" & $js)
刚有个高手帮我解决了变量表的问题 但是上面这个查询结果好奇怪,不管$js怎么变查询结果都是同一个值 真怪了,把$table换成表的名称就正常 真让我摸不着头脑! $RS.Open ("Select * From "&$table&" where id=" & $js)
不知道是不是还这个问题呢? 上面多了一个'号,也能run?
附上数据表和其它源码 2# gaofali258
对 还是这个问题 数据表是访问到了 但是$js怎么变查询结果都一样 $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
真是奇怪了 回复 auto 说多了一个' ,我原来也没用这个' 就访问不了数据表,显示出错,是gaofali258给我加的'就可以访问了,但是出现这个奇怪现象 我觉得可能这样写使得where语句失效了,因为这样写和不要where语句得的效果是一样的,也就是说这句相当于$RS.Open ("Select * From " & $table),所以记录集的指针自动定位在某个记录,看来是不是这个格式不对啊,但是写成$RS.Open ("Select * From "&$table&" where id=" & $js)这样根本运行不了啊。 你没有定位游标
$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);锁定,其它人不能访问。 我试验的结果是$RS.Open ("Select * From " & $table) 可以访问 但是游标指向不是默认第一位。
用这个$RS.Open ("Select * From " & $table&" where id=5",1,1)直接提示错误:请求动作失败,和用$RS.Open ("Select * From " & $table&" where id=5")提示一样 我真怀疑是不是变量做表名不能够用where语句啊,照理来说("Select * From " & $table&" where id=5")这个语句应该格式对了啊 ,怎么访问不到呢 真奇怪。 我这里使用ACCESS数据库测试了下 没有发现楼主所说的问题
楼主可以上传下数据库和程序源码来看看 附上数据库和源码 请大家帮忙试一下 id改成a也是一样的啊 或者你把id改成b或者c,把$js改成相应的值试试看 我后来把id字段改成a我忘记改回来了 测试通过 没有问题 你出问题的原因在于那个单引号没删掉
页:
[1]
2