sql结果显示在datagrid vb.net中



我正在做一个学校项目,我被卡住了,真的很糟糕。我浏览了很多网站,尝试了所有我遇到的建议,但仍然一无所获。我尝试过过滤数据网格和SQL语句,但没有成功,教授被难住了。一些对其他帖子的回复说要使用Dataview.Filter,但在VS2013中我没有选择,我正在使用Office2010。

问题来了。我有一个表单,其中CustomerID、FirstName和LastName作为访问数据库表的数据绑定文本框。数据网格绑定到具有列CustomerID、DateEntered和Notes的同一数据库。

我希望数据网格中的信息显示与表单上的CustomerID关联的所有注释。例如:如果表单上的Customer ID为2,则数据网格中与ID关联的全部注释都应显示。现在我正试图用SQL语句来实现这一点,并在不同的领域进行了尝试,但没有成功。这是我试图在点击事件中使用的代码,我不知道这是否正确。数据网格仍然显示所有客户的所有注释,所以我猜应该缺少一些内容来说明结果应该放在哪里。请帮忙。

Private Sub btnRun_Click(sender As Object, e As EventArgs) Handles btnRun.Click

        Dim SQLstr As String
SQLstr = "SELECT Notes.CustomerID, Notes.MemoEntered, Notes.Notes, Customer.CustomerID, Customer.FirstName, Customer.LastName"
SQLstr = "FROM (Notes INNER JOIN Customer ON Notes.CustomerID = Customer.CustomerID AND Notes.CustomerID = Customer.CustomerID)"
SQLstr = "WHERE Notes.CustomerID = Customer.CustomerID"
End Sub

我在发布后大约一两个小时就想好了需要做什么

Private Sub btnRun_Click(sender As Object,e As EventArgs)处理btnRun.Click

    Dim SQLstr As String
    SQLstr = "SELECT Notes.CustomerID, Notes.MemoEntered, Notes.Notes, Customer.CustomerID, Customer.FirstName, Customer.LastName"
    SQLstr = "FROM (Notes INNER JOIN Customer ON Notes.CustomerID = Customer.CustomerID AND Notes.CustomerID = Customer.CustomerID)"
    SQLstr = "WHERE Notes.CustomerID = Customer.CustomerID"
    NotesBindingSource.Filter = "[CustomerID] = '" & CustomerIDTextBox.Text & "'"
    DataGridView1.Refresh()

End Sub

添加底部的两行就成功了,现在我只能看到与我正在查看的客户相关的笔记。非常感谢。

Raj

最新更新