ASP.NET与ACCESS结合建设网站的经验总结

以前都是用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);
   
     今天把做好的东西发给了client(是她叫我做东西,就此称呼吧).结果她用配置asp程序的方法把程序配置好,然后运行,结果肯定不行拉~(只看到静态的界面,与数据库打交道的动态部分都不能显示).
   
     为了解决此问题,我专门找了台没装.net环境的机子测试,此机子仅装了windows2000,带iis。以下是我的总结,你的建议将是对我最好的帮助: )
   
     第一步,我首先在此机子上装了Microsoft.Net.Framework1.1软件包。
   
     第二步,再装上Microsoft Data Access Components 2.7(MDAC),否则运行程序时提示OLEDB 不能用,需要安装此组件。
   
     第三步,设置好本机的ip,我设置为192.168.0.20(可随便设,只要不是自动获取)
   
     第四步,打开iis,在“默认web站点”的属性中把ip设置为127.0.0.1(因为我在开发程序的时候就是这个ip,当然可以改成其他的ip(192.168.0.20),但是要在程序项目文件夹中找到的以webinfo为后缀的文件,以记事本方式打开,将其Web URLPath中的路径改为相应的ip地址即可).
   
     第五步,在iis中的“默认web站点”属性中的“本地路径”设置为对应的程序所在目录,在“文档”项中添加程序首页的文件名(index.aspx)即可在IE地址栏中打入http://127.0.0.1运行程序。
   
   另外一个问题:
   
     在我机子上本来运行好好的程序,到别的机子上便可能出现的问题,出现最多问题的就是绝对路径的问题,比如说,我要显示一张图片,我先用Server.MapPath()取其所在文件夹路径再加上其名称来显示,那么这样就会是绝对路径了,在别的机子访问的时候便可能出现错误,把原来的代码改
   为直接赋值相对路径:@"文件夹名/"+图片名,即可。 
 

你可能感兴趣的:(职场,asp.net,Access,休闲)