使用 Access 数据库总结

时间:2015/12/1 10:30:00来源:互联网 作者:flyso 点击: 1260 次

  一直使用Sql Server数据库,最近使用Access数据库做了一个练习,发现Access和Sql Server数据库的使用还是有些不一样的地方,在做练习的过程中,发现了一些问题,记录在下面。

1.Access的数据库连接字符串。在Web.config文件中配置Access文件。

<add key="Conn" value="Provider=Microsoft.Jet.Oledb.4.0;Data Source="/>
< add key="Source" value="\App_Data\BBS.mdb"/>

string conString = ConfigurationManager.AppSettings["Conn"]+HttpContext.Current.Server.MapPath("~")+ConfigurationManager.AppSettings["Source"];

2.Access数据库对关键字敏感,对于Password这样的关键字,需要加括号进行查询,否则会报错。

string queryString="insert into Users([UserName],[Password],[Gendor],[CreateTime]) values(@userName,@password,@gendor,@createTime)";

3.对于日期类型的字段,需要先转换为字符串,再转化为日期。

OleDbParameter par=new OleDbParameter("@createTime",Convert.ToDateTime(userInfo.CreateTime.ToString());

4.Access数据库的参数有严格的顺序,如果参数的顺序不对的话,执行时不会报错,但是不会做插入或更新操作,对数据库不会产生任何影响。

string updateString = "update Users set [UserName]=@userName,[Password]=@password,[Gendor]=@gendor where [ID]=@id";
OleDbParameter[] pars ={
                    new OleDbParameter("@userName",userInfo.UserName),
                    new OleDbParameter("@password",userInfo.Password),
                    new OleDbParameter("@gendor",userInfo.Gendor),
                    new OleDbParameter("@id",userInfo.Id)};//如果将Id参数写在前面,执行不会成功

对于上面定义参数的顺序必须和sql语句中的参数的顺序一致,否则更新不成功。

Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3