从asp向asp.net转型的问题以前做asp的时候 自己封装了一个关于操作数据库的类在该类里有这样一个方法    Public Function CObject(oSQL)
        Dim objectName,strObject,nPoint
        If Lcase(TypeName(oSQL))="string" Then Set oSQL=oConn.Execute(oSQL)
        objectName="RSObject"
        strObject="Class "&objectName&chr(10)&"Public defaul"
        For nPoint=0 To oSQL.Fields.Count-1
            strObject=strObject&","&oSQL(nPoint).name
        Next
        strObject=strObject&chr(10)&"End Class"
        Execute strObject
        Execute "Set CObject=new "&objectName
        If Not oSQL.Eof Then
            For nPoint=0 To oSQL.Fields.Count-1
                Execute "CObject."&oSQL(nPoint).name&"=oSQL(nPoint).value"
            Next
        End If
    End Function
    Public Function CObjectArray(ByVal sSQL)
        Dim rsArray(),nPoint,oRs
        Set oRs=oConn.Execute(sSQL)
        If oRs.Eof Then CObjectArray=Array():Exit Function
        nPoint=0
        Do While Not oRs.Eof
            Redim Preserve rsArray(nPoint)
            Set rsArray(nPoint)=CObject(oRs)
            oRs.MoveNext
            nPoint=nPoint+1
        Loop
        CObjectArray=rsArray : oRs.Close
    End Function作用是把数据记录转化为“对象”来处理例如 :Data=Connection.CObjectArray("select id,title,content from news")
For Each o In Data
    Response.Write o.title
    Response.Write o.id
    Response.Write o.content
Next或者
Set Data=Connection.CObject("select * from product where id = 5")
Response.Write Data.productName
Response.Write Data.price------------------------------------------------------------------现在大部分都是做.net  但是以前做asp的那些方法和思想都已经用习惯了,也不想抛弃请教高人!怎样再C#里实现如上方法呢??100分诚心请教

解决方案 »

  1.   

    asp.net更容易实现你所想的
    给你一个简单例子
    DataFunction.cs
    public class DataFunction
    {
    public SqlConnection con;

    public void DBOpen()
    {
    con=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["dsn"]);
    con.Open();
    }
    public void DBClose()
    {
    con.Close();
    }
    public DataSet ExeSqlForDataSet(string strSql)
    {
    SqlDataAdapter dad=new SqlDataAdapter(strSql,con);
    DataSet dst=new DataSet();
    try
    {
    dad.Fill(dst);
    return dst;
    }
    catch(SqlException ex)
    {
    throw new Exception(ex.Message);
    }
    }
    }
    在asp页调用DataFunction对象
    string strSql="select * from table";
    DataFunction function=new DataFunction();
    function.DBOpen();
    DataSet dst=function.ExeSqlForDataSet(strSql);
    function.DBClose();
    DataGrid或DataList等等绑定dst就行
      

  2.   

    lz是要用c#实现上面asp的方法?建议你看看ado.net,很简单的
      

  3.   

    其实DataTable就是LZ要的东西
    DataRow就是LZ要转换成的对象
      

  4.   

    在2004年的时候我就是这么做的。asp分为这么几组代码
    1。自定义数据类,这些类为了存数组数据,可以用属性的方式存取数组中的元素,而不是用序号。
    2。业务数据服务类,这此类是用来数据操作的,它们操作是自定义数据类。有添加,删除,更改。
    3。公共核心类,这些类如环境变量收集,功能函数,IO操作,静态页,数据库操作等等。这个组织代码的方法,可以直接用在ASP。NET中。只是语言的差别而已。不过,你要熟悉ASP。NET的控件才行。如果你想不学习ASP。NET运行模型,尽管可以学一下VB。NET的语法,可更改的地方不多。
      

  5.   

    楼主的想法太落后了,
    .net是要求持久化的,你那样子做会不停的访问数据库的 
    多看看控件的东西
      

  6.   

    回复人:sunjay117() ( 四级(中级)) 信誉:100  2006-10-21 13:49:00  得分:0

    楼主的想法太落后了,
    .net是要求持久化的,你那样子做会不停的访问数据库的
    多看看控件的东西
    不太对吧。头一次看到这么说的。
      

  7.   

    楼主该改一改习惯了。记得我从asp车.net时也是把.net骂了的够,总是从.net里找不到我要的东西。现在,谁要让我修改原来的asp程序,我就头都大了。
      

  8.   

    哎,孟子老大哥的这个钻石真TMD的醒目