在一个c#解决方案中加入了access数据库.
vs2005自动生成 一个 dataset.xsd文件(还有一些引用).怎样使用这个进行数据库编程.
请给出一段代码示范
或者给个网址参考.我在安装的帮助文件里没有找到例子.gotdotnet中也没有.
sf.net中可能有,但不知道用哪个关键字搜索.

解决方案 »

  1.   

    using (OleDbConnection connection = new OleDbConnection("Provider=MSDataShape;Data Provider=SQLOLEDB;" +
      "Data Source=(local);Integrated Security=SSPI;Initial Catalog=northwind"))
    {
    OleDbDataAdapter adapter = new OleDbDataAdapter("SHAPE {SELECT CustomerID, CompanyName FROM Customers} " +
      "APPEND ({SELECT CustomerID, OrderID FROM Orders} AS Orders " +
      "RELATE CustomerID TO CustomerID)", connection);DataSet customers = new DataSet();
    adapter.Fill(customers, "Customers");
    gridview1.datasource = customers.Tables["Customers"];
    }
      

  2.   

    XSD 描述了数据库架构信息
    这样你可以在 C# 里使用类型化的数据集 或称强类型 DataSet
    打个比方
    一般来说
    我们取一张表一行里的某的字段:
    dataRow["UserId"]
    类型化的则是:
    dataRow.UserIdColumn
    前者运行时检查字段
    后者如果先写错了字段名
    编译时就能发现错误
      

  3.   

    将查询结果放到 OleDbDataReader reader中.
    然后, 从reader 中读取数据, 再构造一个 OleDbCommand 执行,将这些插入到另一张表上.这样可行吗?
      

  4.   

    reader只能说是一个"游标", 只有当前行,所以说查询结果保存在reader当中,可能不恰当可以用reader.read()依次处理,也可以一下子取出来保存在dataset当中当然可行.
      

  5.   

    类型化DataSet,这里有2003的代码可以参考,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

  6.   

    using System;
      using System.Data.OleDb;
      
      class OleDbTest{
      
      public static void Main()
      {
      //创建数据库连接
      OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:db1.mdb");
      
      //创建command对象并保存sql查询语句
      OleDbCommand aCommand = new OleDbCommand("select * from emp_test", aConnection);
      try
      {
      aConnection.Open();
      
      //创建datareader 对象来连接到表单
      OleDbDataReader aReader = aCommand.ExecuteReader();
      Console.WriteLine("This is the returned data from emp_test table");
      
      //循环遍历数据库
      while(aReader.Read())
      {
      Console.WriteLine(aReader.GetInt32(0).ToString());
      }
      
      //关闭reader对象
      aReader.Close();
      
      //关闭连接,这很重要
      aConnection.Close();
      }
      
      //一些通常的异常处理
      catch(OleDbException e)
      {
      Console.WriteLine("Error: {0}", e.Errors[0].Message);
      }
      }
      }lz参考下 或许对你有帮助!!
      

  7.   

    xsd呀,用起来其实还比较方便,但是不会给你太多的控制,真正想有全面的控制的话还是自己写代码拉,那个可视化的东西是给新手用的