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

设计器必须创建类型“System.Data.Common.DbDataAdapter”的实例,但该类型已声明为抽象,因此设计器无法创建该类型的实例,该怎么处理

2012-03-24 
设计器必须创建类型“System.Data.Common.DbDataAdapter”的实例,但该类型已声明为抽象,因此设计器无法创建

设计器必须创建类型“System.Data.Common.DbDataAdapter”的实例,但该类型已声明为抽象,因此设计器无法创建该类型的实例
设计器必须创建类型“System.Data.Common.DbDataAdapter”的实例,但该类型已声明为抽象,因此设计器无法创建该类型的实例。 
隐藏  

在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
在 System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
在 System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
在 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
在 System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host) 

C# code
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.Common;namespace Components{    class DataReaderAdapter:DbDataAdapter    {        public int FillFromReader(DataTable dataTable, IDataReader dataReader)        {            return Fill(dataTable, dataReader);        }        protected override RowUpdatedEventArgs CreateRowUpdatedEvent(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)        {            return null;        }        protected override RowUpdatingEventArgs CreateRowUpdatingEvent(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)        {            return null;        }        protected override void OnRowUpdated(RowUpdatedEventArgs value)        {        }        protected override void OnRowUpdating(RowUpdatingEventArgs value)        {        }     }}#region 将DataReader 转为 DataTable        /// <summary>        /// 将DataReader 转为 DataTable        /// </summary>        /// <param name="DataReader">DataReader</param>        public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)        {            DataTable datatable = new DataTable();            try            {                DataTable schemaTable = dataReader.GetSchemaTable();                //int bun=schemaTable.Rows.Count;                //DataColumn myDataColumn = new DataColumn();                //for(int bui=0;bui<bun;bui++)                //{                //myDataColumn.DataType    = schemaTable.Rows[0].GetType();                //myRow.GetType();                //myDataColumn.ColumnName = schemaTable.Rows[0].ToString();                //}                //datatable.Columns.Add(myDataColumn);                if (schemaTable != null)                {                    foreach (DataRow myRow in schemaTable.Rows)                    {                        DataColumn myDataColumn = new DataColumn();                        myDataColumn.DataType = myRow.GetType();                        myDataColumn.ColumnName = myRow[0].ToString();                        datatable.Columns.Add(myDataColumn);                    }                }                DataReader dra = new DataReader();                dra.FillFromReader(datatable, dataReader);                dra = null;                dataReader.Close();            }            catch (Exception ex)            {                Error.Log(ex.ToString());                throw new Exception("转换出错!", ex);            }            return datatable;        }        #endregion


请问怎么解决啊?

[解决办法]
DbDataAdapter是抽象类,无法实例化

DbDataAdapter x=new SqlDataAdapter()

热点排行