当前位置: 代码迷 >> ASP.NET >> Database类和Dbcommand解决办法
  详细解决方案

Database类和Dbcommand解决办法

热度:9015   发布时间:2013-02-25 00:00:00.0
Database类和Dbcommand
Database db = DatabaseFactory.CreateDatabase();
string sqlCommand = "Select CustomerID, LastName, FirstName From Customers";
DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);
以上代码有几点疑问。
1、DataBase不是系统.net framework中定义的类吧?
2、Dbcommand的用法。
3、DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);这段话时什么意思?DbCommand是抽象类,不能实例化,所以用db.GetSqlStringCommand来实现吗,怎么理解?
小弟在这先谢过了

------解决方案--------------------------------------------------------
1、首先,database不是NET定义的类,应该是自定义的,你去看看sqlHeleper相关的代码。自定义的
2、表示要对数据源执行的 SQL 语句或存储过程。为表示命令的、数据库特有的类提供一个基类。 
MSDN
3、抽象类是不能实例的,抽象方法也是不能直接调用的,确实是这样.给段代码吧
C# code
 /// <summary>        /// 返回Command实例,并且设置Connection和CommandText        /// </summary>        /// <param name="DataBaseType"></param>        /// <param name="sql"></param>        /// <returns></returns>        public static DbCommand CreateCommand(int DataBaseType, string sql)        {            DbCommand cm = null;            switch (DataBaseType)            {                case 2:                    cm = new System.Data.OracleClient.OracleCommand(sql, (System.Data.OracleClient.OracleConnection)CreateConnection());                    break;                case 3:                    cm = new System.Data.OleDb.OleDbCommand(sql, (System.Data.OleDb.OleDbConnection)CreateConnection());                    break;                case 4:                    cm = new System.Data.Odbc.OdbcCommand(sql, (System.Data.Odbc.OdbcConnection)CreateConnection());                    break;                default:                  [color=#FF0000]  cm = new System.Data.SqlClient.SqlCommand(sql, (System.Data.SqlClient.SqlConnection)CreateConnection());                    break;[/color]            }            return cm;        }
  相关解决方案