string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection += "Data Source=";
strConnection += MapPath("database/XX.mdb");
OleDbConnection objConnection = new OleDbConnection(strConnection);
你在这里不用写相对或是绝对路径.
只要放在那个DAT的文件里就行了.
webconfig 配置:
<connectionStrings>
<add name="conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\XX.mdb;"/>
</connectionStrings>
使用:
OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
复制数据库到你的DEBUG文件夹下 然后找路径
1.Data Source= system.io.dictionary.getcruentdictionary()+"database\\XX.mdb";
2.Data Source=@"\database\\XX.mdb";
3.Data Source=application.startpath+@"\database\\XX.mdb";
using System.Data.OleDb
public string myConnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Server.MapPath("data.mdb"); //data.mdb是你的数据库名称
OleDbConnection MyConnection;
MyConnection = new OleDbConnection(myConnstring);
strInsert=""; //strinsert是你的sql语句
OleDbCommand MyCommand = new OleDbCommand(strInsert,MyConnection);
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
usingSystem;
usingSystem.IO;
usingSystem.Collections;
usingSystem.Data;
usingSystem.Data.OleDb;
namespaceExam_Manage.DAL
...{
/**////<summary>
///试题数据访问基础类
///</summary>
publicabstractclassDbSQL
...{
publicDbSQL()
...{
}
protectedstaticstringconnectionString=@"provider=microsoft.jet.oledb.4.0;" "DataSource=" Directory.GetCurrentDirectory() @"mdbdb.mdb";
执行简单SQL语句#region执行简单SQL语句
/**////<summary>
///执行SQL语句,返回影响的记录数
///</summary>
///<paramname="SQLString">SQL语句</param>
///<returns>影响的记录数</returns>
publicstaticintExecuteSql(stringSQLString)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
using(OleDbCommandcmd=newOleDbCommand(SQLString,connection))
...{
try
...{
connection.Open();
introws=cmd.ExecuteNonQuery();
returnrows;
}
catch(System.Data.OleDb.OleDbExceptionE)
...{
connection.Close();
thrownewException(E.Message);
}
}
}
}
/**////<summary>
///执行多条SQL语句,实现数据库事务。
///</summary>
///<paramname="SQLStringList">多条SQL语句</param>
publicstaticvoidExecuteSqlTran(ArrayListSQLStringList)
...{
using(OleDbConnectionconn=newOleDbConnection(connectionString))
...{
conn.Open();
OleDbCommandcmd=newOleDbCommand();
cmd.Connection=conn;
OleDbTransactiontx=conn.BeginTransaction();
cmd.Transaction=tx;
try
...{
for(intn=0;n<SQLStringList.Count;n )
...{
stringstrsql=SQLStringList[n].ToString();
if(strsql.Trim().Length>1)
...{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch(System.Data.OleDb.OleDbExceptionE)
...{
tx.Rollback();
thrownewException(E.Message);
}
}
}
/**////<summary>
///执行带一个存储过程参数的的SQL语句。
///</summary>
///<paramname="SQLString">SQL语句</param>
///<paramname="content">参数内容,比如一个字段是格式复杂的文章,有非凡符号,可以通过这个方式添加</param>
///<returns>影响的记录数</returns>
publicstaticintExecuteSql(stringSQLString,stringcontent)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
OleDbCommandcmd=newOleDbCommand(SQLString,connection);
System.Data.OleDb.OleDbParametermyParameter=newSystem.Data.OleDb.OleDbParameter("@content",OleDbType.VarChar);
myParameter.Value=content;
cmd.Parameters.Add(myParameter);
try
...{
connection.Open();
introws=cmd.ExecuteNonQuery();
returnrows;
}
catch(System.Data.OleDb.OleDbExceptionE)
...{
thrownewException(E.Message);
}
finally
...{
cmd.Dispose();
connection.Close();
}
}
}
/**////<summary>
///执行一条计算查询结果语句,返回查询结果(object)。
///</summary>
///<paramname="SQLString">计算查询结果语句</param>
///<returns>查询结果(object)</returns>
publicstaticobjectGetSingle(stringSQLString)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
using(OleDbCommandcmd=newOleDbCommand(SQLString,connection))
...{
try
...{
connection.Open();
objectobj=cmd.ExecuteScalar();
if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value)))
...{
returnnull;
}
else
...{
returnobj;
}
}
catch(System.Data.OleDb.OleDbExceptione)
...{
connection.Close();
thrownewException(e.Message);
}
}
}
}
/**////<summary>
///执行查询语句,返回SqlDataReader
///</summary>
///<paramname="strSQL">查询语句</param>
///<returns>SqlDataReader</returns>
publicstaticOleDbDataReaderExecuteReader(stringstrSQL)
...{
OleDbConnectionconnection=newOleDbConnection(connectionString);
OleDbCommandcmd=newOleDbCommand(strSQL,connection);
try
...{
connection.Open();
OleDbDataReadermyReader=cmd.ExecuteReader();
returnmyReader;
}
catch(System.Data.OleDb.OleDbExceptione)
...{
thrownewException(e.Message);
}
}
/**////<summary>
///执行查询语句,返回DataSet
///</summary>
///<paramname="SQLString">查询语句</param>
///<returns>DataSet</returns>
publicstaticDataSetQuery(stringSQLString)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
DataSetds=newDataSet();
try
...{
connection.Open();
OleDbDataAdaptercommand=newOleDbDataAdapter(SQLString,connection);
command.Fill(ds,"ds");
}
catch(System.Data.OleDb.OleDbExceptionex)
...{
thrownewException(ex.Message);
}
returnds;
}
}
#endregion
执行带参数的SQL语句#region执行带参数的SQL语句
/**////<summary>
///执行SQL语句,返回影响的记录数
///</summary>
///<paramname="SQLString">SQL语句</param>
///<returns>影响的记录数</returns>
publicstaticintExecuteSql(stringSQLString,paramsOleDbParameter[]cmdParms)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
using(OleDbCommandcmd=newOleDbCommand())
...{
try
...{
PrepareCommand(cmd,connection,null,SQLString,cmdParms);
introws=cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
returnrows;
}
catch(System.Data.OleDb.OleDbExceptionE)
...{
thrownewException(E.Message);
}
}
}
}
/**////<summary>
///执行一条计算查询结果语句,返回查询结果(object)。
///</summary>
///<paramname="SQLString">计算查询结果语句</param>
///<returns>查询结果(object)</returns>
publicstaticobjectGetSingle(stringSQLString,paramsOleDbParameter[]cmdParms)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
using(OleDbCommandcmd=newOleDbCommand())
...{
try
...{
PrepareCommand(cmd,connection,null,SQLString,cmdParms);
objectobj=cmd.ExecuteScalar();
cmd.Parameters.Clear();
if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value)))
...{
returnnull;
}
else
...{
returnobj;
}
}
catch(System.Data.OleDb.OleDbExceptione)
...{
thrownewException(e.Message);
}
}
}
}
/**////<summary>
///执行查询语句,返回SqlDataReader
///</summary>
///<paramname="strSQL">查询语句</param>
///<returns>SqlDataReader</returns>
publicstaticOleDbDataReaderExecuteReader(stringSQLString,paramsOleDbParameter[]cmdParms)
...{
OleDbConnectionconnection=newOleDbConnection(connectionString);
OleDbCommandcmd=newOleDbCommand();
try
...{
PrepareCommand(cmd,connection,null,SQLString,cmdParms);
OleDbDataReadermyReader=cmd.ExecuteReader();
cmd.Parameters.Clear();
returnmyReader;
}
catch(System.Data.OleDb.OleDbExceptione)
...{
thrownewException(e.Message);
}
}
/**////<summary>
///执行查询语句,返回DataSet
///</summary>
///<paramname="SQLString">查询语句</param>
///<returns>DataSet</returns>
publicstaticDataSetQuery(stringSQLString,paramsOleDbParameter[]cmdParms)
...{
using(OleDbConnectionconnection=newOleDbConnection(connectionString))
...{
OleDbCommandcmd=newOleDbCommand();
PrepareCommand(cmd,connection,null,SQLString,cmdParms);
using(OleDbDataAdapterda=newOleDbDataAdapter(cmd))
...{
DataSetds=newDataSet();
try
...{
da.Fill(ds,"ds");
cmd.Parameters.Clear();
}
catch(System.Data.OleDb.OleDbExceptionex)
...{
thrownewException(ex.Message);
}
returnds;
}
}
}
privatestaticvoidPrepareCommand(OleDbCommandcmd,OleDbConnectionconn,OleDbTransactiontrans,stringcmdText,OleDbParameter[]cmdParms)
...{
if(conn.State!=ConnectionState.Open)
conn.Open();
cmd.Connection=conn;
cmd.CommandText=cmdText;
if(trans!=null)
cmd.Transaction=trans;
cmd.CommandType=CommandType.Text;//cmdType;
if(cmdParms!=null)
...{
foreach(OleDbParameterparmincmdParms)
cmd.Parameters.Add(parm);
}
}
#endregion
}
}
连接数据库 Access Sql 并检测连接
Access
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Northwind.mdb");
conn.Open();
message.Text = conn.State.ToString();
conn.Close();
}
</script>
<html http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>连接到Access数据库</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="message" runat="server"></asp:Label>
//连接成功,会显示Open
</form>
</body>
Sql 与Acess类似,需更改部分如下:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=sql.ourhost.cn;server=sql.ourhost.cn;database=zhu;User Id=zhu;password=zhuyinhong";
conn.Open();