首页编程oledbdataadapter OleDbDataAdapter 的作用.!!

oledbdataadapter OleDbDataAdapter 的作用.!!

编程之家2023-11-0775次浏览

大家好,oledbdataadapter相信很多的网友都不是很明白,包括OleDbDataAdapter 的作用.!!也是一样,不过没有关系,接下来就来为大家分享关于oledbdataadapter和OleDbDataAdapter 的作用.!!的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

oledbdataadapter OleDbDataAdapter 的作用.!!

web怎么和access数据库连接

ACCESS数据库是个文件来的,不用配置的了,在解决方案中添加你创建的ACCESS数据文件中,系统会提示你是否创建App_Data目录并将ACCESS文件添加到此目录中,选择"是"就可以了,再在程序中创建连接到此文件的连接字符串即可.(此文后面有在web.config中配置的方法)例如

String con="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+ System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");

然后就像用其它数据库一样用了.

完全示例:

C#连接Access程序代码:

usingSystem.Data;

oledbdataadapter OleDbDataAdapter 的作用.!!

usingSystem.Data.OleDb; stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";

strConnection+=@"DataSource=C:\ASPNET\YouAccessData.mdb";

OleDbConnectionobjConnection=newOleDbConnection(strConnection);

//或

//stringstrConnection="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+ System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");

objConnection.Open();

oledbdataadapter OleDbDataAdapter 的作用.!!

objConnection.Close();

解释:

C#连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的。

strConnection这个变量里存放的是连接数据库所需要的连接字符串,指定了要使用的数据提供者和要使用的数据源。

“Provider=Microsoft.Jet.OleDb.4.0;”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。

“Data Source=C:\BegASPNET\Northwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPath\MyFile.MDB”。

PS:

1.“+=”后面的“@”符号是防止将后面字符串中的“\”解析为转义字符。

2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:

strConnection+="Data Source=";strConnection+=MapPath("Northwind.mdb");

3.要注意连接字符串中的参数之间要用分号来分隔。

“OleDbConnection objConnection=new OleDbConnection(strConnection);”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道。

“objConnection.Open();”这用来打开连接。至此,与Access数据库的连接完成。

再来一个示例:

using System.Data.OleDb;

using System.Data;

//连接指定的Access数据库

String ConnString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=App_Data\YouAccessData.mdb";

//SQL语句

String SQLString="select* from TestDB";

//创建一个OleDbConnection对象

System.Data.OleDb.OleDbConnection OleDBConn1= new System.Data.OleDb.OleDbConnection(ConnString);

//创建一个DataSet对象

DataSet DataSet1= new DataSet();

//创建一个OleDbDataAdapter对象

System.Data.OleDb.OleDbDataAdapter OleDbDataAdapter1= new System.Data.OleDb.OleDbDataAdapter(SQLString,OleDBConn1);

//打开连接

OleDBConn1.Open();

//通过OleDbDataAdapter对象填充数据集

OleDbDataAdapter1。Fill(DataSet1,"TT");

另外是在web.config中如何使用access数据库连接了,估计就是所要的了:

一:一种是通过使用 DataDirectory目录的方法,但是 access文件必须放在 ASP.NET的特殊目录中,如 app_data;

<addname="access"connectionString="Provider=Microsoft.Jet.Oledb.4.0;

Data Source=|DataDirectory|db.mdb"/>

二:另外一种方法则比较灵活,具体方法是:在 web.config文件中保存两个字符串,一个是驱动字符串,另一个是 access文件的相对路径;

使用时用 Server.MapPath来获取绝对路径然后组合出来的连接字符串就可以使用了;

在web.config中的写法如下:

<appSettings>

<add key="ConnStr" value="provider=microsoft.jet.oledb.4.0;data source="/>

<add key="dbPath" value="/AppData/db.mdb"/>

</appSettings>

程序中的数据访问类中我把"ConnStr"和"dbPath"取出来再连接成一个字符串

代码如下:

///<summary>

///(静态)返回数据库连接串。

///</summary>

protected static string GetConnString()

{

return

System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]+ System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["dbPath"])+";";

}

三:直接写数据库的物理路径

<connectionStrings>

<add name="qxConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Inetpub\wwwroot\web\App_Data\db.mdb"

providerName="System.Data.OleDb"/>

</connectionStrings>

注意:Data Source字符的写法一定要正确,否则可能会出现“找不到可安装的ISAM”的错误。

OleDbDataAdapter 的作用.!!

OleDbDataAdapter类型的角色

这时您应该了解到如何通过OleDbConnection类型连接到数据源、发送命令(使用OleDbCommand和OleDbParameter类型)并处理OleDbDataReader了。当您想非常快速地迭代大量数据或者触发存储过程时这非常有用。然而,如果想从数据存储中获得一个完整的DataSet,最灵活的方式就是使用OleDbDataAdapter。

简而言之,这个类型从数据存储中获取信息,并用OleDbDataAdapter.Fill()方法在DataSet中填充一个DataTable,Fill()方法已经重载很多次。下面列出了几种可能(FYI,这个整型返回类型保存了返回的记录数)。

// Fills the data set with records from a given source table.

public int Fill(DataSet yourDS, string tableName);

// Fills the data set with the records located between

// the given bounds from a given source table.

public int Fill(DataSet yourDS, string tableName,

int startRecord, int maxRecord);

在调用这个方法之前,您必须有一个有效的OleDbDataAdapter对象引用。构造函数同样也被多次重载,但多数情况下必须提供用来填充DataTable的连接信息和SQL SELECT语句。

这个OleDbDataAdapter类型不仅仅是帮助您填充DataSet中表的实体,而且也负责维护一些核心的SQL语句,这些语句可用来更新数据存储

C#中oleDbDataAdapter控件在添加表时可不可以添加多个表

一、可以,你只要向DataSet中fill就行了

custAdapter.Fill(customerOrders,"Customers[1]");

custAdapter.Fill(customerOrders,"Customers[2]");

1、你只要在custAdapter.Fill方法的第二参数指定不同的表名或者数字索引即可。这样多个表就会被填充到一个 DataSet中

2、使用的时候用表名或者索引

例:

DataTable dt= customerOrders.Tables["Customers[1]"];

DataTable dt= customerOrders.Tables[0];

注意:如果.Fill方式第二个参数不写,那么系统会自动以数字来作为索引标识表名,具体情况可以自己设断点看一下内存中的值。

二、还有一种方法就是使用 SqlDataAdapter来完成:

SqlDataAdapter da= new SqlDataAdapter("select* from chengji;select* from chengji", conn);

da.Fill( ds);

不过需要注意的是这种方法只对 SqlDataAdapter、OleDbDataAdapter好用,OracleDataAdapter则不支持这种功能。

OleDbDataAdapter.FILL()重载出错

DataGrid1.DataSource= DataSet1.Tables["Table1"].DefaultView;

DataGrid1.DataBind();

----------------------------------------------

你的这段代码应该说没有问题。我也搞不懂为什么编译的时候你的程序不采用(DataSet dataset,string SrcTable)这种重载,而选用

(DataTable datatable,object ADODBRecordset)这种重载方式,可能是你的.net框架有问题吧。给你提供一个使用Recordset的重载方法,看看你能不能编辑通过。

--------

引用

using ADODB;//在这之前可能需要你在右侧的解决方案管理器中添加引用adodb。

----

代码

string DataPath="Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:\\data\\office.mdb";

string strCmd="Select* From officer";

ADODB.Recordset rs= new Recordset();

rs.CursorLocation=CursorLocationEnum.adUseClient;

rs.Open(strCmd,DataPath, CursorTypeEnum.adOpenKeyset, LockTypeEnum.adLockPessimistic,1);

OleDbDataAdapter adp=new OleDbDataAdapter();

DataSet ds=new DataSet();

DataTable dt= new DataTable();

adp.Fill(dt,"ds1");

ds.Tables.Add(dt);

DataGrid1.DataSource=ds;

DataGrid1.DataBind();

-------------

这段代码在我的机器里可以编辑通过。

文章到此结束,希望我们对于oledbdataadapter和OleDbDataAdapter 的作用.!!的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。

发布平台?发布信息的平台有哪些ssl认证 https证书是什么