我用的是C# DataGrid 直接与数据库绑定!
private void cx_Click(object sender, System.EventArgs e)
{

if(bh.Text.Length>0)
{
    string selstring="select top 5 * from data  where serialNumber='";
           selstring=selstring+bh.Text+"'";
OleDbCommand myCmd = new OleDbCommand(selstring ,conn);
myCmd.Connection.Open();
OleDbDataReader dr;
dr = myCmd.ExecuteReader();
if(dr.Read())
{
ID =dr["id"].ToString();
Response.Redirect("serch.aspx?ID="+ID);
}
else
{
Response.Write("<script language=javascript>alert('没有符合条件的表单,请重新查询!');</script>");

   myCmd.Connection.Close();

                                bind();
    bh.Text = null;
rq.Text = null;
mc.Text = null;
}
可是查询的结果并没有显示在 DataGrid的第一行中,谁能帮我解答一下,不甚感激啊!
我编的是C#中的WebForm

解决方案 »

  1.   

    上面的代码根本就没跟DataGrid绑定
      

  2.   

    private void bind()
    {
    string mysel;
    mysel="select top 5 * from data order by serialNumber,bdate,bname";
    // OleDbCommand myCmd=new OleDbCommand(mysel,conn);
    OleDbDataAdapter myfill=new OleDbDataAdapter(mysel,conn);
                
    OleDbCommandBuilder myBuilder=new OleDbCommandBuilder(myfill);

    DataSet ds=new DataSet();
                myfill.Fill(ds,"data");
    cxDGrid.DataSource = ds.Tables["data"];
    cxDGrid.DataBind(); }我用函数绑定的啊,bind();
      

  3.   

    绑定的SQL语句和上面的SQL不一样呀,你究意要绑定哪个?
      

  4.   

    我现在只想把查询得到的数据在DataGrid的第一行中显示出来 如此而已
      

  5.   

    应该出现类似的语句:
    DataGrid1.DataSource=;
    DataGrid1.DataBind;
      

  6.   

    先新建一个dataSet,然后把查询到的结果集返回就行啦 ,接着把dataSet付给楼上老兄的数据源就可以啦 !另外上面的DataGrid1.DataBind是一个方法,要改成DataGrid1.DataBind();
      

  7.   

    private void cx_Click(object sender, System.EventArgs e)
    {
    if(bh.Text.Length>0)
    {
        string selstring="select top 5 * from data  where serialNumber='";
                 selstring=selstring+bh.Text+"'";
    OleDbCommand myCmd = new OleDbCommand(selstring ,conn);
    myCmd.Connection.Open();
         //       myCmd.Connection.Close(); OleDbDataAdapter myfill=new OleDbDataAdapter(selstring,conn);
         OleDbCommandBuilder myBuilder=new OleDbCommandBuilder(myfill);
    DataSet ds=new DataSet();
    myfill.Fill(ds,"data");
    cxDGrid.DataSource = ds.Tables["data"];
    cxDGrid.DataBind();
    OleDbDataReader dr;
    dr = myCmd.ExecuteReader();
    if(dr.Read())
    {
    ID =dr["id"].ToString();
    Response.Redirect("serch.aspx?ID="+ID);
    }
    else
    {
    Response.Write("<script language=javascript>alert('没有符合条件的表单,请重新查询!');</script>");

        bh.Text = null;
    rq.Text = null;
    mc.Text = null;
    }
    else if(rq.Text.Length>0)
    {
    string selstring="select top 5 * from data  ID where bdate='"; selstring=selstring+rq.Text+"'";
    OleDbCommand myCmd = new OleDbCommand(selstring ,conn);
    myCmd.Connection.Open();
    OleDbDataReader dr;
    dr = myCmd.ExecuteReader();
    if(dr.Read())
    {
    ID =dr["id"].ToString();
    Response.Redirect("serch.aspx?ID="+ID);
    }
    else
    {
    Response.Write("<script language=javascript>alert('没有符合条件的表单,请重新查询!');</script>");
    }
    myCmd.Connection.Close();
    rq.Text = null;
    mc.Text = null;
    }
    else if(mc.Text.Length>0)
    {
    string selstring="select top 5 * from data   where bname='"; selstring=selstring+mc.Text+"'";
    OleDbCommand myCmd = new OleDbCommand(selstring ,conn);
    myCmd.Connection.Open();
    OleDbDataReader dr;
    dr = myCmd.ExecuteReader();
    if(dr.Read())
    {
    ID =dr["id"].ToString();
    Response.Redirect("serch.aspx?ID="+ID);
    }
    else
    {
    Response.Write("<script language=javascript>alert('没有符合条件的表单,请重新查询!');</script>");

    myCmd.Connection.Close();
    mc.Text = null;
    }

    else
    {
    Response.Write("<script language=javascript>alert('请输入你要查询的信息!');</script>");
    }
    }
    改成这样子还是不行啊,怎么回事??