private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (Request.Params["Id"] != null) 
{
itemId = Int32.Parse(Request.Params["Id"]);
       
}
if (itemId != 0) 
{
OleDbConnection objConn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +  
Server.MapPath("../mydatabasermvb.mdb"));  
string SQL="select * from [news] where id like '"+itemId +"'" ;
OleDbDataAdapter objCommand=new OleDbDataAdapter(SQL,objConn);  
DataSet ds=new DataSet();  
objCommand.Fill(ds,"news");  
this.DataGrid1.DataSource = ds.Tables["news"].DefaultView; 
this.DataGrid1.DataBind();string SQL="select * from [news] where id like '"+itemId +"'" ;这一句用like就可以显示出来而string SQL="select * from [news] where id='"+itemId +"'"
就数据库为空。第一次提问,谢谢大家

解决方案 »

  1.   

    itemId = Int32.Parse(Request.Params["Id"]);
    是获取的主键那个唯一标识的ID?
      

  2.   

    可能是你数据库里面的id这个字段类型是Text
      

  3.   

    respone.Write() 输出一下id
    2。把查询语句放到数据库上执行一下,分析一下
      

  4.   

    想想原因,肯定是id和数据库中的id不匹配.
    就象楼上的楼上说的
    可能是你数据库里面的id这个字段类型是Text数据库中多存了几个' '
      

  5.   

    itemId  =  Int32.Parse(Request.Params[  "Id  "]);  
     
     
    是获取的主键那个唯一标识的ID? 
    是主键
      

  6.   

    可能是你数据库里面的id这个字段类型是Text如果是Text类型好象就只能用like查询,不过我想你那里多半不是Text呵呵 ,不是很清楚哦
      

  7.   

    id是整型就应该这样写
    string SQL="select * from [news] where id=" + itemId 
    如果是string就没必要这样
    itemId = Int32.Parse(Request.Params["Id"]);
    转型了
    ,如果是string
    string SQL="select * from [news] where id like '"+itemId.Trim() +"'" ;//把两边空字符去掉