ACCESS[学习]ASP.NET连接ACCESS数据库web.config内路径最优写法

}

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class test_sss_Defauldddt : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

接下来,写个类公事,调用上面的定义,代码如下:

 

那般程序运行时日常提示诸如以下的荒谬:
‘C:\WINDOWS\system32\~\App_Data\Data.mdb’不是三个可行的路线。
鲜明路径名称拼写是或不是正确,以及是不是连接到文件存放的服务器。 Data
Source=~\App_Data\Data.mdb
尽管用相对路径正确,那么移植程序时还要去修改web.config,所以相比辛劳。

 

 

 

过多恋人被ACCESS数据库在.net程序中相对路径的标题苦恼,搞得每回运动程序都要去修改web.config
中数据库连接字符串的数据库路径。

调用数据库类:

‘定义二个老是字符串,难题就在此间,网上海人民广播电视台湾大学用到了Server.MapPath,不过还是至极,注意那里运用了Request.MapPath(相对asp来说,那是asp所没用的)
Public connstr As String = ConfigurationSettings.AppSettings(“myds”) +
HttpContext.Current.Request.MapPath(“~”) +
(ConfigurationSettings.AppSettings(“myconn”).Trim())

第2在web.config文件<appSettings>节点中投入如下代码:
<!–数据源–>
<add key=”myds” value=”Provider=Microsoft.Jet.OLEDB.4.0;Data
source=”/>
<!–数据库绝对路径–>
<add key=”myconn” value=”App_Data\VinikeData.mdb”/>

众两个人的web.config中的写法如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//因为要使用Access数据库,所以那里得引入命名空间
using System.Data.OleDb;

自家在web.config中的写法如下:

<configuration
xmlns=”http://schemas.microsoft.com/.NetConfiguration/v2.0“>
<appSettings/>
<connectionStrings>
    <add name=”book”
connectionString=”Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\c#\book\App_Data\book.mdb”
     providerName=”System.Data.OleDb” />
</connectionStrings>

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// Connection 的摘要表明
/// </summary>
public class Connection
{
public Connection()
{
   //
   // TODO: 在此处添加构造函数逻辑
   //
}
    public static OleDbConnection connAccess()
    {
        OleDbConnection conn = new OleDbConnection(GetConnString());
        return conn;
    }
    private static string GetConnString()
    {
        return
System.Configuration.ConfigurationSettings.AppSettings[“ConnStr”] +
System.Web.HttpContext.Current.Server.MapPath(“~”)+System.Configuration.ConfigurationSettings.AppSettings[“DbPath”];
    }

 

新兴通过寻找、参考别的程序,总括出如下方法,可以壹本万利的移植程序路径而无需再去修改ACCESS数据库路径。

if (this.name.Text != “”)//判断用户名是不是未空
{
if (this.pwd.Text != “”)//判断密码是或不是未空
{
if (this.yanzhen1.Text != “”)//判断验证码是还是不是未空
{
if (this.yanzhen1.Text == this.Label1.Text)//判断验证码是或不是等于
{
string sql;
sql = “select count(*) from userinfo where username='” + this.name.Text

  • “;”;

}
conn.Close();

/// <summary>
///
那里主即使留言本会用到的数据库连接类,因为数量操作并不多,所以把健康的操作类也壹并放那里了
/// </summary>
public class odb
{
     public string name;
      public string email;
      public string qq;
      public string msn;
      public string url;
      public string title;
      public string concent;
      public string face;
      public string ip;
      public string pwd;
      public string uid;
      public string pwda;
      public DateTime dtt;
    
      public odb()
{
    //
    // TODO: 在此地添加构造函数逻辑
    //
}
      public static OleDbConnection con()
      {//数据库连接类
          OleDbConnection con = new
OleDbConnection(ConfigurationManager.ConnectionStrings[“book”].ConnectionString);
          return con;
      }
      public static bool insert(string que)
      { //根据传进来的SQL语句执行插入/删除/更新等操作
          OleDbConnection con = odb.con();
          con.Open();
          OleDbCommand cmd = new OleDbCommand(que,con);
          int count = Convert.ToInt32(cmd.ExecuteNonQuery());
          if (count > 0)
              return true;
          else
              return false;
      }
      public static DataTable ds(string que)
      {//重返多少个装载了SQL制定留言的数据表,
          OleDbConnection con = odb.con();
          OleDbDataAdapter oda = new OleDbDataAdapter();
          oda.SelectCommand=new OleDbCommand(que,con);
          DataSet ds = new DataSet();
          oda.Fill(ds,”thc”);
          return ds.Tables[“thc”];
      }
      public static bool img(string que)
      {//根据传来的标准查询该项是或不是有内容,有就回到true
          OleDbConnection con = odb.con();
          con.Open();
          OleDbCommand cmd = new OleDbCommand(que,con);
          if (cmd.ExecuteScalar().ToString() != “”)
              return true;
          else
              return false;
          con.Close();
      }
      public static string scr(string que)
     
{//同样是依照传来的SQL语句重返四个字段的值,1般应有把SQL语句做在类中,那里没有放
          OleDbConnection con = odb.con();
          con.Open();
          OleDbCommand cmd = new OleDbCommand(que,con);
          return cmd.ExecuteScalar().ToString();
      }
      public static int num(string mm)
      {//依照必要回到1个一个人作品显示条目数
         return    Convert.ToInt32(odb.scr(“select [“+mm+”] from
[config]”));
      }
}
帖子四asp.net
做登录界面怎么样连接access数据库实行验证
**using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//以下发生随机的验证码,并在label1出示
Random ro = new Random();
if (!IsPostBack)
{
this.Label1.Text = ro.Next(1000, 9999).ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{

}
}
else
{
this.Label2.Text = “用户名尚未填写!”;
}
}
}

  • “‘ and pwd='” + this.pwd.Text + “‘”;//建立sql查询语句
    try
    {
    OleDbConnection conn = new
    OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=” +
    Server.MapPath(“./app_data/db.mdb”));//建立数据库连接
    conn.Open();
    OleDbCommand cmd = new OleDbCommand(sql, conn);
    int state =Convert.ToInt3二(
    cmd.ExecuteScalar());//执行sql语句,并回到得到值
    if (state == 0 || state > 一)//假使数量中从不记录或有多条记下则抱错
    {
    this.Label二.Text = “用户不存在,请检查实验用户名和密码是还是不是科学!”;
    }
    else
    {
    this.Label二.Text = “登入成功!” ;

<appSettings>
<add key=”OLEDBCONNECTIONSTRING”
value=”Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=E:\web\App_Data\Data.mdb)”></add>
</appSettings>

帖子三c#2.0中web.config中调用Access数据库语句

作者使用的是VS
2007,经过调节和测试成功,具体什么贯彻,代码如下(VB.Net示例,C#艺术同样,在这里就无须说了)

 

MyConn = new
OleDbConnection(System.Configuration.ConfigurationManager.AppSettings[“OLEDBCONNECTIONSTRING”]);
//注释一下:VS二〇〇六和VS2003中的ConfigurationSettings写法不一样,具体差距本人查吗

}
}
else
{
this.Label二.Text = “密码未有填写!”;

帖子二web.config 配置access的绝对路径

Source:http://www.cnblogs.com/sxjrcool/archive/2008/08/16/1269462.html

 

 

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Data.OleDb.OleDbConnection conn1 =
Connection.connAccess();
        conn1.Open();
        if (conn1.State == ConnectionState.Open)
        {
            Label一.Text = “连接成功!”;
        }
        else
        {
            Label1.Text = “连接不成事!”;
        }
    }
}

<appSettings>
<add key=”SQLConnString” value=”provider=microsoft.jet.oledb.4.0;data
source=”/>
<add key=”dbPath” value=”~/App_Data/mydata.mdb”/>
</appSettings>
次第中的数据访问类中本身把”SQLConnString”和”db帕特h”取出来连接成一个字符串”CONN_STRING_NON_DTC”
public static readonly string CONN_STRING_NON_DTC =
System.Configuration.ConfigurationManager.AppSettings[“SQLConnString”].ToString()
+
System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings[“dbPath”])

}
catch (Exception a)
{
Response.Writea.Message);
}
}
else
{
this.Label贰.Text = “验证码不科学,请重新输入!”;
}
ACCESS,}
else
{
this.Label2.Text = “验证码未有填写!”;

End of《ASP.NET连接ACCESS数据库web.config内路径最优写法

也有在web.config中央银行使象ASP那样的Server.MapPath取数据库路径的,但web.config不认识Server.MapPath,此格局也不行。

次第中如此写:

相关文章