Console.WriteLine("\t{0}\t{1}",thisReader["type"],thisReader["sum"]); 
这个位置有问题.

解决方案 »

  1.   

    看看Console.WriteLine(thisReader["type"].ToString())的结果是什么?
      

  2.   

    using System;
    using System.Data.OleDb;
    class Test
    {
    public static void Main()
    {
    OleDbConnection c=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DogManager.mdb");
    c.Open();
    OleDbCommand cmd=new OleDbCommand("Select * from 基本信息",c);
    OleDbDataReader   thisReader   =   cmd.ExecuteReader(); 
    while   (thisReader.Read()) 
                    { 
                           Console.WriteLine("\t{0}\t{1}",thisReader["申请人"],thisReader["编号"]); 
                    } 
                    c.Close(); 
                    Console.Write("Programme   finished"); 
                    Console.ReadLine(); 
            } }没有SQL环境,模仿做了一下 没问题呀
      

  3.   

    回neok:添加了这条语句后,系统抛错了:阅读器关闭时 MetaData 的尝试无效。
      

  4.   

    回nisnow:我的程序是连接sql server的,但是我换成其他数据库,仍然不能成功。实在不明白是为什么~难道除了在程序里的代码之外,还需要做其他数据库连接的设置么?
      

  5.   

    添加在哪里了?不能在最后啊,在Console.WriteLine("\t{0}\**")改;
    怀疑是否读取到了数据哦。
    我用文本测试没问题using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Documents and Settings\Administrator\桌面\game.txt");
                string sLine = "";
                ArrayList arrText = new ArrayList();            while (sLine != null)
                {
                    sLine = sr.ReadLine();
                    if (sLine != null)
                        arrText.Add(sLine);
                    Console.WriteLine("\t{0}",sLine);
                }
                sr.Close();
                Console.Write("Programme   finished");
                Console.ReadLine();        }
        }
    }
      

  6.   

    晕,你得添加到DataReader对象关闭前哪
      

  7.   

    不好意思
    现在我将语句Console.WriteLine(thisReader["type"].ToString())
    放在DateReader关闭之前、while循环之后
    系统提示:在没有任何数据时进行无效的读取尝试。难道真的没读到数据晕了
      

  8.   

    如果把Console.WriteLine(thisReader["type"].ToString()) 
    放在while循环里、Console.WriteLine("\t{0}"...之后
    运行后的效果和之前是一样的,只输出:Programme finished