给个asp.net C#链接access数据库的类文件 要有那种可以执行数据库的语句的。
解决方案 »
- 用RegularExpressionValidator验证控件怎样限制文本字符数?
- js的简单问题 马上结贴!! 基础问题!!新人求问!!!
- 关于dropdownlist和DataGrid的问题
- 能否递归一个数组中的数据????
- <font color="RedR">急</font>DataList自定义标题中的控件如何得到
- 如何替换某个字符?
- 一个奇怪的问题
- html控件submit怎么把数据提交给别的页面???
- 问个问题
- 怎么样到得Member_ID的值——/SelMemMonByID.aspx?Member_ID=1003
- 求大家指点configuration
- 传值问题!!!脑子想的短路了...
连接字符串
<appSettings>
<add key="ConnString" value="provider=microsoft.jet.oledb.4.0;data source="/>
<add key="dbPath" value="~/App_Data/a.mdb"/>
</appSettings>
<add name="accessConnStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source= |DataDirectory|a.mdb" providerName="System.Data.OleDb"/>
public static OleDbDataReader ExecuteReader(string strSQL)
{
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand(strSQL, connection);
try
{
connection.Open();
OleDbDataReader myReader = cmd.ExecuteReader();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
}
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>
/// OleDbData类封装了对Access数据库的常用基本操作
/// </summary>
public class OleDbData
{
private OleDbConnection cn;
private OleDbCommand cmd;
private OleDbDataAdapter da;
private OleDbCommandBuilder cb;
public DataSet ds;
public OleDbDataReader dr;
public OleDbData(string OleDbStr)
{
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + AppDomain.CurrentDomain.BaseDirectory(@"App_Data/学生.mdb");
cn = new OleDbConnection(ConStr);
cn.Open();
cmd = new OleDbCommand(OleDbStr, cn);
da = new OleDbDataAdapter(OleDbStr,cn);
cb = new OleDbCommandBuilder(da);
ds = new DataSet();
}
public void Fill()
{
da.Fill(ds);
}
public void Fill(string tbName)
{
da.Fill(ds, tbName);
}
public void Update()
{
da.Update(ds);
}
public void Update(string tableName)
{
da.Update(ds,tableName);
}
public void Close()
{
cn.Close();
}
public void SetCommandText(string OleDbStr)
{
cmd.CommandText = OleDbStr;
da.SelectCommand = cmd;
//da.InsertCommand = cmd;
//da.UpdateCommand = cmd;
//da.DeleteCommand = cmd;
}
public int ExecuteScalar()
{
int first = (int)cmd.ExecuteScalar();
return first;
}
public int ExecuteScalar(string OleDbStr)
{
cmd.CommandText = OleDbStr;
int first = (int)cmd.ExecuteScalar();
return first;
}
public int ExecuteNonQuery()
{
return cmd.ExecuteNonQuery();
}
public void ExecuteReader()
{
dr = cmd.ExecuteReader();
}
public void SetParameters(params string[] values)
{
for (int i = 0; i < values.Length/2; i++)
cmd.Parameters.AddWithValue(values[i * 2], values[i * 2 + 1]);
da.SelectCommand = cmd;
}
}这是我过去写的一个类,有些不完善的地方,主要是部分成员变量公开了,应该全部私有化,再设置属性公开。不过这样写不影响使用。
使用举例,用:
OleDbData md=new OleDbData("select * from 表名");
md.Fill();
GridView1.DataSource=md.ds.Table[0];
GridView1.DataBind();
md.Close();
比较方便。