读书人

Database类和Dbcommand解决办法

发布时间: 2012-03-17 19:06:27 作者: rapoo

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;        } 

读书人网 >asp.net

热点推荐