我有个例子,是CSDN上一个网友的,发邮件给你吧,留下MAIL!

解决方案 »

  1.   

    get
    SQL Class Generator
    http://yzcsharp.yyyz.net/http://www.codeproject.com/dotnet/spinvoke.asp
      

  2.   

    public class OperateTable
    {
    protected ArrayList fieldNameArray;    //表中字段名队列
    protected ArrayList fieldTypeArray;    //表中字段类型队列
    protected SqlConnection connection;    //数据库连接
    protected string tableName="";             //表名
    //根据WebConfig中的设置构造
    public OperateTable(string TableName)
    {

    tableName=TableName;
    //WebConfig文件中设置的数据连接
    string strConnection =ConfigurationSettings.AppSettings ["strConnection"].ToString ();
    connection = new SqlConnection (strConnection) ;
    if(connection.State==ConnectionState.Closed)
    connection.Open();
    ReadFields(); 
                
    }
    //初试华fieldNameArray,fieldTypeArray
    private void ReadFields()
    {

    string strCommand="select a.number as isParameter,a.name as fieldName,a.xtype as fieldType from syscolumns as a inner join sysobjects as b on a.id=b.id where b.name='"+tableName+"' order by a.colid";
    SqlCommand command = new SqlCommand (strCommand, connection); //初始化队列
    fieldNameArray=new ArrayList();
    fieldTypeArray=new ArrayList();


    SqlDataReader reader = command.ExecuteReader() ;
    while (reader.Read()) 
    {
    if (reader.GetValue(0).ToString().Trim()=="0")  //类型为字段,添加到字段队列
    {
    fieldNameArray.Add(reader.GetValue(1).ToString().Trim());
    fieldTypeArray.Add(reader.GetValue(2).ToString().Trim());
    }

    } reader.Close ( ) ;

    }
    }
    我做的一个单表操作类,只给出了,初试化,读入表自段,和类型的代码
    剩下的工作你在深入深入
      

  3.   

    [email protected]
    谢谢各位!
      

  4.   

    要实现这个并不困难,如果是SQL SERVER可以使用SQL DMO + CodeDom实现,或者再是通过一个XMLSchema中间结构。但我不知道如何来快速填充,存储这些类?各种异构的原数据<-->XMLSchema<-->各种语言的类上面的方法在.NET可以说是无处不在。这么看XMLSchema有些像MSIL,我想对于微软实现一个哦O/R mapping是很容易的,但是实现一个高效的而且能够发挥关系数据库强大能力的O/R mapping就有一点困难了。.NET的强类型数据集可以看作是一个折衷的办法,不过微软自己生成强类型数据集(xsd.exe)有些过重,可以做一个生成轻量版本的,Duwamish使用的就是这种办法。