如何在GRIDVIEW中的每行根据本行的主键ID显示一个SQL查询的结果?
比如说GRIDVIEW中有一个公司名称列.这个列里的内容保存在另一个表里.根据本行主键ID从另一个表里读取的.如何实现?

解决方案 »

  1.   

    用DataRelation
     
            Dim strConn As String = "user id=scott;password=tiger;data source=orcl"
            Dim objConn As OracleConnection
            Dim objDataAdapter As OracleDataAdapter
            Dim strSql As String = ""
            Dim objDataSet As DataSet
            Try
                objConn = New OracleConnection(strConn)
                strSql = "SELECT * FROM EMP"
                objDataAdapter = New OracleDataAdapter(strSql, objConn)
                objDataSet = New DataSet
                objDataAdapter.Fill(objDataSet, "Emp")
                objDataAdapter.SelectCommand.CommandText = "SELECT * FROM DEPT"
                objDataAdapter.Fill(objDataSet, "Dept")
                Dim objDeptEmpRelation As DataRelation = New DataRelation("EmpDept", objDataSet.Tables("Dept").Columns("DeptNo"), _
                                                                       objDataSet.Tables("Emp").Columns("DeptNo"))
                objDataSet.Relations.Add(objDeptEmpRelation)
                Me.DataGrid1.SetDataBinding(objDataSet, "Dept")
                Me.DataGrid2.SetDataBinding(objDataSet, "Dept.EmpDept")
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
      

  2.   

    如何在GRIDVIEW中的每行根据本行的主键ID显示一个SQL查询的结果? 
    比如说GRIDVIEW中有一个公司名称列.这个列里的内容保存在另一个表里.根据本行主键ID从另一个表里读取的.
    补充说明.
    有记录就显示,没有记录就不显示.
    如何实现?
      

  3.   

    第一个表里给的ID第二个表里不一定有的.
    asp代码是这样的
    上一个SQL是这样的
    select  * from daili where uid<>0 order by id desc
    Gridview1中的某一列中要显示下面SQL语句的值.
    asp代码是这样的
    <%sqlc="select  * from zhaoshang where id="&zid
    rsc.open sqlc,conn,1,1
    if not rsc.eof and not rsc.bof then
    %>   
     <a href="../member/product-detail.asp?id=<%=rs("zid")%>">
     <%=rsc("danwei")%>
     </a>
    <%end if
    rsc.close%>
    有记录就显示,没有就不显示啊.
      

  4.   

    你的意思是鼠标移过去的时候显示,还是在Gridview1里面显示?
    在Gridview1里面显示的话select  * from zhaoshang 有多个列,要先合并,建议查询时就做好
      

  5.   

    我用多条语句表达一下. 
    select  ZID,NAME,ATRA from daili where uid <> 0 order by id desc 
    这是第一条语句.从里面取一个ZID做为下一个语句的条件. 
    select  * from zhaoshang where id="&ZID 
    如果有记录就把它放在第一个查询的后面.如果没有输出"无对应记录"放在第一个查询的后面. 
    如何所上面的两个语句合并成一个语句?高手请指教.用ASP很好实现,只要在DO WHILE 里面做一下判断就行了,但是在VS2005里面放在GRIDVIEW 里就不知道怎么做啊.