A 表中有字段id,x,y,pid,recordno,B表中有字段 name,id ,现在要根据b表中的name把a表中的所有字段查询并显示在datagridview上,如何实现?下面是我的代码:
 cmd.CommandText = "select a.id,a.pid,a.x,a.y,a.recordno,b.name from road_local a,roadc1name_local b where b.id = a.id AND b.name = " + textBox2.Text + "";  //textBox2中输入要查询的名字                    
            DataSet dts = new DataSet();
            SqlDataAdapter dat = new SqlDataAdapter(cmd);
            dat.Fill(dts);
            //将查询结果显示在DataGridView上
            dataGridView2.DataSource = dts.Tables[0];有错误,说是textbox2.text获取的值的列名有错

解决方案 »

  1.   


    b.name = '" + textBox2.Text + "'";
      

  2.   

    cmd.CommandText = "select a.id,a.pid,a.x,a.y,a.recordno,b.name from road_local a,roadc1name_local b where b.id = a.id AND b.name = " + textBox2.Text + ""; 
    这句写错了 应该将那个文本框的值加上单引号。
    正确写法是:cmd.CommandText = "select a.id,a.pid,a.x,a.y,a.recordno,b.name from road_local a,roadc1name_local b where b.id = a.id AND b.name = '" + textBox2.Text + "'"; 因为name 是string 类型的,需要带上’‘号