首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 参数决定连接Access和Sql(简单有关问题)

2011-12-21 
C# 参数决定连接Access和Sql(简单问题)程序在连接Access和SQL时,是由参数来决定连接哪个类型的数据库。if(D

C# 参数决定连接Access和Sql(简单问题)
程序在连接Access和SQL时,是由参数来决定连接哪个类型的数据库。
if   (DataType== "Access ")
{
    strConn   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data       Source=\\data.mdb ";
    OleDbConnection   Conn   =   new   OleDbConnection(strConn);
    OleDbCommand   cm   =   new   OleDbCommand( " ",   Conn);
    OleDbDataReader   dr;
}
else
{  
      strConn   =   "Server=(local);User   ID=sa;Password=;Initial   Catalog=Northwind ";
    SqlConnection   Conn   =   new   SqlConnection(strConn);
    SqlCommand   cm   =   new   SqlCommand( " ",   Conn);
    SqlDataReader   dr;
}

怎么返回上面的Conn,cm,dr的值?
这样一来,我想在执行SQL语句时,就不管是cm是SqlCommand   和OleDbCommand  
cm.CommandText= "select   *   from   A ";
cm.ExecuteNonQuery();

[解决办法]
OleDbCommand, OleDbDataReader, SqlCommand, SqlDataReader都是不同的类型,
所以,Conn,cm,dr在实例化的时候,也是不同的类型。要处理这个问题可不是一个“简单”的问题。你要么就做一个类包装一下,不然没别的办法。

public class SqlHelper
{
private string _SqlCommand; // 命令行
private string _ConnString; // 数据库连接
private DataSet _ResultSet; // 结果集
private string _CommandType; // 类型
private object[] Parameters; // 参数集
// 这里设置属性

// 执行Sql,结果放入ResultSet
public void Invoke()
{
}

// 设定参数
public void AddParameter()
{
}
}

热点排行