我是通过下面的形式从数据库里读取数据出来 string mySqlStr="select * from 表";
 OleDbCommand mySqlStrComd = new OleDbCommand(mySqlStr,MyConn);
 OleDbDataReader Dr; 
 Dr = mySqlStrComd.ExecuteReader();
 Dr.Read(); 
 string Dr_MyData = Dr["MyData字段"].ToString(); 
 
 public string Show_MyData; //全局变量
 Show_MyData = Dr_MyData; //赋值然后我在前台按下面的方式分别显示出来:
张三发贴子共有:<%= Show_MyData %>次
李四发贴子共有:<%= Show_MyData %>次
王八发贴子共有:<%= Show_MyData %>次
......问题是:我现在这样子只能是全部都显数据库里的第一条记录的数据,也就是说不会分别显示各人发的贴子数量,请问如何修改我的代码?在我的数据库中本来记录是:张三发贴子32次,李四发贴子14次,王八发贴子6次。可是现在这样全部都显示为32次,请大家多多指教我应如何修改,再一次谢谢大家!

解决方案 »

  1.   

    string mySqlStr="select * from 表"; 
     OleDbCommand mySqlStrComd = new OleDbCommand(mySqlStr,MyConn); 
     OleDbDataReader Dr;  
     Dr = mySqlStrComd.ExecuteReader();  while(Dr.Read())
    {  
     //string Dr_MyData = Dr["MyData字段"].ToString();  这里改成用一个数组来取值,然后下面分别读出来
    }
      
     public string Show_MyData; //全局变量 
     Show_MyData = Dr_MyData; //赋值 
      

  2.   

    很久没有用到while和DataReader,代码可能不太准确,大概的意思就是必须在循环里把数据一条一条的读出来。
      

  3.   

    public void ReadMyData(string myConnString) {
       string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";
       OleDbConnection myConnection = new OleDbConnection(myConnString);
       OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);
       myConnection.Open();
       OleDbDataReader myReader;
       myReader = myCommand.ExecuteReader();   while (myReader.Read()) {
          Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
       }   myReader.Close();   myConnection.Close();
    }
    这段示例来自vs自带的帮助文档,你自己研究一下吧。
    方法刚才说过了:一条一条的读。
      

  4.   

            //返回发贴数
            private string Show_MyData(string value)
            {
               OleDbConnection conn = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\BkTemp.mdb");
               OleDbCommand cmd = new OleDbCommand("Select * From 表 Where 姓名 = '" + value + "'");
               OleDbDataReader oda;
               oda = cmd.ExecuteReader();
               while (oda.Read())
               {
                   return oda["MyData字段"].ToString();
               }
               return "";        }
    张三发贴子共有: <%= Show_MyData(张三) % >次 
    李四发贴子共有: <%= Show_MyData(李四) % >次 
    王八发贴子共有: <%= Show_MyData(王八) % >次