string aaa = Request.QueryString["id"];
    
           //Response.Write(aaa);
            string dbname;
            dbname=Server.MapPath("lpan.mdb");
            myConnection = new OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + dbname );
            myConnection.Open();                        myCommand = new OleDbCommand( "select lpmc,qy FROM lpan where lpmc="+aaa+"", myConnection );
            
            OleDbDataReader sr = myCommand.ExecuteReader();
            while (sr.Read())
            {
           
            lpmc.Text = sr["lpmc"].ToString();
            qy.Text = sr["qy"].ToString();
            
            }
            
            
                        sr.Close();
            
            myConnection.Close();

解决方案 »

  1.   

    select lpmc,qy FROM lpan where lpmc='"+aaa+"'"
      

  2.   

    用mdb数据库得注意sql语法,并不是能在sqlserver中可以执行的语句就一定在access数据库中可以运行
      

  3.   


                myCommand = new OleDbCommand( "select lpmc,qy FROM lpan where lpmc="+aaa+"", myConnection );
            
    如果lpmc是数值型:               myCommand = new OleDbCommand( "select lpmc,qy FROM lpan where lpmc="+aaa, myConnection ); 
            
    如果lpmc是字符型:
                myCommand = new OleDbCommand( "select lpmc,qy FROM lpan where lpmc='"+aaa+"'", myConnection );
      

  4.   

    输入字符型的数据 要用引号引上  where lpmc='"+aaa+"'"
      

  5.   

    谢谢,是语法问题.但是很奇怪我用输出语句输出       
    lpmc.Text = sr["lpmc"].ToString();
    qy.Text = sr["qy"].ToString();
    的结果是LABEL 说明sr["lpmc"].ToString();是空的,但是数据库里确实是有这个字段的,为什么就没读到呢?
      

  6.   

    把sql语句在查询分析器里测试 看结果里是否有你想要的数据