Q 我吧
很久都没有写Blog 了,终于要写点东西了。最近新东西可没有搞多少,反而去搞ACCESS了,真是有点笑话。因为之前使用ACCESS的时候都很少使用参数,都是SQL语句加变量这样的形式搞店的,但最近无聊将一个网站从原来的SQL SERVER 2000 数据库的改写为ACCESS 用(虚拟空间+MSSQL 数据库 太贵了!!惟有出此下册),基本程序改写可没有问题,可是到了操作ACCESS时就出现问题了,首先就是在ACCESS 中的字段类型和.net 中的 OleDbType 中的枚举类型很多都对不上号,比如ACCESS中的备注,在OleDbType 中根本就没有,只是可以使用其他相关的来代替例如 VarChar 或 LongVarChar 之类的。本来用相进的类型代替了,应该就没有问题,可是,问题又出来了!在写入更新等数据库操作的时候,总是说我的类型不正确。真的天啊,我把所有的相近的类型都全试过了,还是不行。后来经过一翻周折才知道,ACCESS中的参数的顺序是要和添加到COMMAND 或Adapter 中的参数顺序是要一致的。 比如 String sql="insert into a(name,pwd) values(@name,@pwd);  那么在将OleDbParameter 添加的顺序也一样,需要先添加@name 的参数,再添加@pwd 的参数。另外,还有一点的就是,在以前看的《ADO.net 高级编程》这本书中,说到的是如果使用的SqlClient 那么它的参数就是用@表示,使用OleDb 的那么它的参数就使用? 表示,但是经过试验在Access 2003 中使用OleDb 的也可通过使用@ 作为参数的符号。
posted on 2005-04-19 18:22  BlackAngel2bAssassin  阅读(3287)  评论(3编辑  收藏  举报