第一次跟别人做东西,自己的一点经验,写下来,虽然比较菜,但还是要做点记录,如有错误缺漏,请各位不吝赐教,谢谢: )
以前都是用asp.net 与sqlserver2000 结合做东西的,这次是用access,虽然是第一次用,但感觉与sqlserver2000的用法区别不大,以下对二者的用法做比较:
sqlserver2000:
1>命名空间 using system.data;
using system.data.sqldb;
2>连接语句等 在之前的随笔中有记录,这里不再记录了。
主要记录access用法:
1>命名空间:using system.data;
using system.data.oledb;
2>连接语句:
string constring="provider=microsoft.jet.oledb.4.0; data source=";
constring+=server.mappath(@"/jlgps/db/jlgps.mdb");
//以上语句中,“@”表示绝对的字符串,也就是说"/"在这就不需用"//"来表示了
第一个"/"表示是从根目录(如c:/inetpub/wwwroot)下找"jlgps"这个目录,如果不加"/"
表示从当前应用程序目录下(jlgps)找,那么这里就要写成@"db/jlgps.mdb"了.
建议用后者,前者取出来可能是绝对路径,后者则是相对路径,出错几率较小。
oledbconnection con=new oledbconnection(constring);
con.open();//这样数据库连接完毕。
3>命令对象:
大致用法与sqlserver的相同,只是名称有点变化:
sqlserver的以sql开头,如sqlcommand cmd=new sqlcommand();
而access的都以 oledb开头,如:oledbcommand,oledbdatareader....等
4>涉及到access数据库的用户名和密码的问题:
开始我的access的mdb文件没有设置用户名和密码,用以上的连接语句可以
连接成功,后来我想为了稍微安全点,想设置数据库mdb文件的打开密码,于
是我便打开mdb文件,在"工具",-"安全"-"设置数据库密码"中设好了密码,但是
之后便连接不上数据库,我便试着在连接语句中加类似sqlserver中的uid,pwd等,
但都没成功,最后经过一番尝试,找到了一个解决问题的方法:
不要在"工具",-"安全"-"设置数据库密码"中设置密码,而是在"工具",-"安全"-
"用户与组帐户"中设置密码即可,这样,既实现了打开mdb文件时要输入密码
,而数据库连接语句还是原来的,不要做任何改动即可连接数据库。
5>access的字段类型问题,access的字段类型与oledbtype的类型很难一一吻合,
那么取相似的即可,比如access中的备注型,那么就在oledbtype中用
longvarchar即可。比如:
oledbparameter para=new oledbparameter("@profun",oledbtype.longvarchar);
para.value=myaddpro.profun;//一个产品对象的功能描叙参数,备注型
cmd.parameters.add(para);
新闻热点
疑难解答
图片精选