OLEDBCommand处理丢失的数据库行

时间:2013-08-24 09:49:55

标签: vb.net oledbcommand

我有2个表,产品和作者,作者表有一个通过ID与产品表相关的列,所以我在下面做了一个select语句,根据ID得到正确的行。但是,作者表可能没有任何数据,因此产品表中没有ID。如果是这种情况,那么产品中的信息就不会显示出来。

所以我的问题是如何处理这个?

    Dim ID As String = Request("id")
    If String.IsNullOrEmpty(ID) Then
        Response.Redirect("/Default.aspx")
    End If

    Try
        Using conn As New OleDbConnection(strcon)
            conn.Open()
            Dim cmd As String = "SELECT * FROM tblProducts, tblPrdAuthor " & _
                                "WHERE tblProducts.ID = " & ID & " AND tblPrdAuthor.paPrdID = tblProducts.ID"
            Using da As New OleDbDataAdapter(cmd, conn)
                Dim ds As New DataSet()
                da.Fill(ds)

                'Bind to the repeater
                rptProduct.DataSource = ds
                rptProduct.DataBind()
            End Using
        End Using
    Catch ex As Exception
        Throw ex
    End Try

谢谢!

1 个答案:

答案 0 :(得分:0)

Select * from table1 as A left outer join table2 as B on (A.id=B.id) where a.id=101 and b.pid=102