上次因为要求,自己在Access里使用了存储过程,按书上的说明,OLE的数据库链接,参数只能用?
于是我写了这样的存储过程:
update t_client set c_password=? where c_id=?
然后在程序里也相应的给了一些参数,而且一一对应,可Access里自动把SQL语句改成了这样的:
update t_clietn set c_password=[?] where c_id=[?]
然后在查询的时候只用输入一个参数,让我郁闷死了!!!!!
郁闷是郁闷,但仔细想一想就发现,Access把两个问题当成了一个参数(当然你如果不保存,而直接运行,还是要两个参数),于是我就想,如果直接把它当成SQLServer里的方法那样,取不能的参数名呢?(也就是不再按书上的方法了)我试了一下!
update c_client set c_password=[@str_newPassword] where c_id=[@int_clientID]
OK,程序代码一点都没有变就行了!!!
真没想到,Access就像是一个缩略的SQLServer!呵呵,,可惜不能同时运行多行SQL,而且还有很多系统的存储过程及用户方法不能用。。。一些郁闷。。。。希望在升级的时候不会太麻烦。
文章来源:http://computer.mblogger.cn/wucountry/posts/48034.aspx