public DataTable ExcuteSelect(string stroledb) {
//数据库的选择函数 选择语句执行
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");
DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb");
DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类
dbConn.ConnectionString = strConn;
dbConn.Open();//打开连接
DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令
dbComm.Connection = dbComm;//绑定连接
dbComm.ConnectionText = stroledb;//绑定oledb
DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();
adapter.SelectCommand = dbComm;
DataSet dsDataSet = new DataSet();//初始化dataset
adapter.Fill(dsDataSet,"table");//获得结果
return dsDataSet.Tables["table"];
}
public void ExcuteOledb(string stroledb) {
//数据库的操作函数
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");//连接字符串
DbProviderFactory dbProviderFactory = dbProviderFactories.GetFactory("System.Data.Oledb");
DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接
dbConn.ConnectionString = strConn;
dbConn.Open();
DbCommand dbComm=dbProviderFactory.CreateCommand();
dbComm.Connection=dbConn;
dbComm.CommandText=stroledb;
dbComm.ExecuteNonQuery();
dbConn.Close();
dbConn.Dispose();
}
帮我解释下这种用法
我能明白就给分
请解释仔细点
//数据库的选择函数 选择语句执行
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");
DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb");
DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类
dbConn.ConnectionString = strConn;
dbConn.Open();//打开连接
DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令
dbComm.Connection = dbComm;//绑定连接
dbComm.ConnectionText = stroledb;//绑定oledb
DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();
adapter.SelectCommand = dbComm;
DataSet dsDataSet = new DataSet();//初始化dataset
adapter.Fill(dsDataSet,"table");//获得结果
return dsDataSet.Tables["table"];
}
public void ExcuteOledb(string stroledb) {
//数据库的操作函数
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");//连接字符串
DbProviderFactory dbProviderFactory = dbProviderFactories.GetFactory("System.Data.Oledb");
DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接
dbConn.ConnectionString = strConn;
dbConn.Open();
DbCommand dbComm=dbProviderFactory.CreateCommand();
dbComm.Connection=dbConn;
dbComm.CommandText=stroledb;
dbComm.ExecuteNonQuery();
dbConn.Close();
dbConn.Dispose();
}
帮我解释下这种用法
我能明白就给分
请解释仔细点
ExcuteSelect 执行SELECT语句获得表的 用DbDataAdaper的Fill方法获取表ExcuteOledb直接执行SQL语句的 如Insert Delete UpDate什么的.. 不要返回结果.....
//数据库的选择函数 选择语句执行
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");
DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb");
DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类
dbConn.ConnectionString = strConn;
dbConn.Open();//打开连接
DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令
dbComm.Connection = dbComm;//绑定连接 ---->这个绑定连接错了,
dbComm.ConnectionText = stroledb;//绑定oledb
DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();
adapter.SelectCommand = dbComm;
DataSet dsDataSet = new DataSet();//初始化dataset
adapter.Fill(dsDataSet,"table");//获得结果
return dsDataSet.Tables["table"];
}
这是企业库里面的连接OLEDB数据库的方法,然后传回一个数据集.主要用在查询上。
下面的那个就是通过调用public void ExcuteOledb(string stroledb)这个方法,传一个SQL语句进来执行,返回值为空。主要用在插入和更新删除等不需要返回结果的操作上。
看下企业库中的数据方面的,应该会明白的。
DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb");
DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类
dbConn.ConnectionString = strConn;
dbConn.Open();//打开连接
DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令
dbComm.Connection = dbComm;//绑定连接
dbComm.ConnectionText = stroledb;//绑定oledb
DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();
adapter.SelectCommand = dbComm;
DataSet dsDataSet = new DataSet();//初始化dataset
adapter.Fill(dsDataSet,"table");//获得结果 return dsDataSet.Tables["table"];
有谁解释仔细点按
DbConnection这个好像不是类里面自带的把是自定义的吗
http://msdn.microsoft.com/zh-cn/library/9hy8csk1.aspx
Db* 系列是 .net 2.0 新增的, 微软朝提供者无关性方向做的努力.单纯依靠这个, 真实无关照样很难
对于 UPDATE、INSERT 和 DELETE SQL 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1
int类型