【发布时间】:2017-08-25 14:53:06
【问题描述】:
我目前正在使用 VB.Net 构建一个 Windows 窗体应用程序,并且正在使用数据转发器来显示来自 SQL 数据库中的视图的数据。
我想根据应用程序中设置的变量过滤传入的数据。这可能是一个文本框、下拉控件等,但目前它只是一个 VB 变量(strSessionID 为整数)
由于我通过将数据源拖入数据转发器控件来创建数据集、数据绑定源、表适配器、TableAdaptorManger 和绑定导航器,因此我似乎没有可以更新任何 VB 代码来参数化 SQL 查询。
这可能真的很简单,但我习惯于使用查询构建器在 web 表单中执行此操作,它允许您从 URL、Cookie 等中选择参数值。不过 Winforms 似乎没有相同的功能.
可能可以过滤数据集后填充并删除我不希望使用 VB 的条目,但我希望能够修改查询,以便它不会带回它不带回的数据'首先不需要。
谁能告诉我如何最好地做到这一点?
问候
PS 我正在使用 VS 2012,如果这有影响的话。
当前与表单关联的VB:
Public Class Process_Selection
Private Sub LB_INTRO_TEXT_Click(sender As Object, e As EventArgs) Handles LB_INTRO_TEXT.Click
End Sub
Private Sub Process_Selection_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Process_Config_DataSet.VW_PROCESS_SESSION_OUTPUT_CONFIG' table. You can move, or remove it, as needed.
Me.VW_PROCESS_SESSION_OUTPUT_CONFIGTableAdapter.Fill(Me.Process_Config_DataSet.VW_PROCESS_SESSION_OUTPUT_CONFIG)
End Sub
Private Sub Process_Selection_Shown(sender As Object, e As EventArgs) Handles Me.Shown
LB_PROCESS_ID.Text = DataRepeater1.CurrentItem.Controls(4).Text
End Sub
Private Sub DataRepeater1_CurrentItemIndexChanged(sender As Object, e As EventArgs) Handles DataRepeater1.CurrentItemIndexChanged
Try
LB_PROCESS_ID.Text = DataRepeater1.CurrentItem.Controls(4).Text
Catch
End Try
End Sub
Private Sub BTN_TOGGLE_Click(sender As Object, e As EventArgs) Handles BTN_TOGGLE.Click
Call Execute_SQL_Toggle_Inclusion(LB_PROCESS_ID.Text, DataRepeater1.CurrentItem.Controls(0).Text, "PROCESS")
'Rebind data repeater
Process_Config_DataSet.Clear()
VW_PROCESS_SESSION_OUTPUT_CONFIGTableAdapter.Adapter.Fill(Me.Process_Config_DataSet)
End Sub
End Class
【问题讨论】:
-
你能告诉我们你现在使用的代码吗
-
@GuidoG 我已编辑问题以在当前表单上显示 VB。问候