如下是我写的脚本,通过t1,t2两个textbox控件传过来的字量在查询时总是无效(即传过来的数值在数据库中真实存在,但却无返回记录) 不知是何原因?且Response.Write("id:"+id1);中可以在网页上正确显示textbox中输入的值,却只在查询中无效啊?
OleDbConnection conn;
  public void page_load(object src,EventArgs e)
   {string myconnstring="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db1.mdb")+";";
    conn=new OleDbConnection(myconnstring);

   }  
public void clickb1(object src,EventArgs e)
  {string id1=t1.Text.ToString();
  string name1=t2.Text.ToString();
  Response.Write("id:"+id1);
  Response.Write("<p>name"+name1);
  string str="select * from doctor where id='&id1&' and name='&name1&'";
  OleDbDataAdapter ada =new OleDbDataAdapter(str,conn);
  DataSet ds=new DataSet();
  ada.Fill(ds,"doctor");
  d1.DataSource=ds.Tables["doctor"].DefaultView;
  d1.DataBind();
  }

解决方案 »

  1.   

    你这是VB还是C#呀?
    '&id1&' 改成'"+id1+"'看看,还要&name1&也改‘“+name1+”’
      

  2.   

    '&id1&' 改成'"+id1+"',
    '&name1&'改成'"+name1+"'
      

  3.   

    string str="select * from doctor where id='&id1&' and name='&name1&'";===>
    string str="select * from doctor where id = '" +id1 + "' and name = '" +name+ "'";
    试试