ado.net 是microsoft 提出的全新的数据访问模型
它的体系结构如下图
http://www.freewebs.com/wentin/
下面的一段从数据库拿数据的代码, 算不算对应于上图所说的结构呢?  但是我的connection string 是连接odbc的.   应该是利用了odbc driver吧?(我自己估计),  所以与上面所说的ado.net 数据访问模型应该没什么关系吧. 
public DataTable GetCity()
{
                        string strConn="Data source=blackman;Initial Catalog=erp;user ID=sa;password=999999;"
string strSql;
DataSet myds=new DataSet();
strSql="SELECT * from  city";
SqlDataAdapter myda=new SqlDataAdapter(strSql,new SqlConnection(strConn));
myda.Fill(myds);
return myds.Tables[0];
}请问我的看法是否正确?  如果要对应于上图所说的ado.net 数据访问模型, 代码应该怎样写呢?

解决方案 »

  1.   

    ???? ado.net就是这样写咯不过上面你返回DataTable 可以直接填充DataTable
    public DataTable GetCity()
    {
                            string strConn="Data source=blackman;Initial Catalog=erp;user ID=sa;password=999999;"
    string strSql;
    DataTable dt = new DataTable();
    strSql="SELECT * from  city";
    SqlDataAdapter myda=new SqlDataAdapter(strSql,new SqlConnection(strConn));
    myda.Fill(dt);
    return dt;
    }
      

  2.   

    i am puzzle.
    大家看一下这篇文章
    http://www.lz.gx.cn/bbs/printpage.asp?BoardID=68&ID=10526
    里面提到下面简单的回顾一下微软系列的数据访问技术所走过的几个阶段:ODBC(Open Database Connectivity):是第一个使用SQL访问不同关系数据库的数据访问技术。使用 ODBC 应用程序能够通过同样的命令操纵不同类型的数据库,而开发人员需要做的仅仅只是针对不同的应用加入相应的 ODBC 驱动。 DAO(Data Access Objects):不像 ODBC 那样是面向 C/C++ 程序员的,它是微软提供给 Visual Basic 开发人员的一种简单的数据访问方法,用于操纵 Access 数据库。 RDO(Remote Data Object):在使用 DAO 访问不同的关系型数据库的时候,Jet 引擎不得不在 DAO 和 ODBC 之间进行命令的转化,导致了性能的下降,而 RDO(Remote Data Objects)的出现就顺理成章了。 OLE DB:随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了。 ADO:基于 OLE DB 之上的 ADO 更简单、更高级、更适 合Visual Basic 程序员,同时消除了 OLE DB 的多种弊端,取而代之是微软技术发展的趋势。 ADO.NET:微软在 .NET 框架中提出的全新的数据访问模型。----------------------------
    ado.net 与odbc 都是其中一种数据访问方式. 
    我觉得我的代码是通过odbc 来访问数据库, 而不是通过ado.net . 请指教. 谢谢
      

  3.   

    ado.net里ODBC是通用的数据接口,访问sql server 数据库用SqlDataClient比ODBC速度快。
      

  4.   

    探讨:
    我觉得ado.net更接近数据库,odbc更注重表,ado.net有多表的关系,用起来方便了,如果你只用ado.net操作单个table,执行单个command,没什么优势(除了xml转化)。
    ado.net更适合松耦合操作数据库,比如offline,odbc也能做到,就是自己要处理许多事情。1.0下面就有一个odbc.net,1.1已经整合了,微软好像希望将数据访问集大成于单个技术。
    这样也好,方便就行。