解决方案 »

  1.   

    代码1,你需要放出错误信息和出错的代码行,不要让人去你一大堆代码里找错误
    代码2
    for (i = 0; i <= 2; i++)
                    {
                        pp[i] = (string)testReader["姓名"];
                        Console.WriteLine("pp={0}", pp[i]);
                    }
    你写死了"姓名",当然就都是一样的了
    你应该用索引i
      

  2.   

    看错了
    你需要获取所有行的姓名
    那么你不要在for循环里反复赋值啊
    while循环才是循环的行,你的for循环是在循环列
      

  3.   

    string[] pp=new string[3];
    这东西,拿到while循环外面去定义
    如果你想在别的函数里也要用,那么就拿到函数外面去定义
      

  4.   

    Data Source=C:ACCESS\\CSE_DEPT.accdb
    这是什么鬼,路径都不对,能读出来才怪
      

  5.   

    路径改好了。还是提示fill不对啊
      

  6.   

    testReader[i]
    就表示取第i列的值你这个问题是应该在while循环里取值,而不要在while循环里再放for循环
      

  7.   

    你这问题一个个的,别急一个个来。我觉得你还是先断点看看你输入、输出,确定是你要的,发现具体问题了再回来问。感觉是COPY的代码,然后自己又搞不懂检查两个部分的strConnectionString 检查两个部分的
      

  8.   

    Fill:selectCommand.Connection属性尚未初始化
      

  9.   

    OleDbCommand testCommand = new OleDbCommand("SELECT ID,姓名, 学号 FROM fanli");  
    OleDbCommand testCommand = conn.CreateCommand();
    能看出有啥区别不?
    你第一个的command根本跟你的conn没关系
      

  10.   

    谢谢您,我有点眉目了!可是现在的问题是虽然我在外面定义了数组pp,为啥出了while循环还是不能用呢?
      

  11.   

    如果你在外面定义了PP,那么new的操作也要在外面进行啊
    不要在while里面重新new它