按 datagridview1 column1 值搜索
Posted
技术标签:
【中文标题】按 datagridview1 column1 值搜索【英文标题】:Search by datagridview1 column1 values 【发布时间】:2018-05-08 10:50:09 【问题描述】:我使用此代码通过文本框搜索以获取 ID 的相关数据
Dim connetionString As String
Dim cnn As SqlConnection
connetionString="DataSource=IP;InitialCatalog=DB;UserID=sa;Password=password"
cnn = New SqlConnection(connetionString)
Dim com As String = "SELECT * FROM Table WHERE ID= '" & TextBox1.Text & "'"
Dim Adpt As New SqlDataAdapter(com, cnn)
Dim ds As New DataSet()
Adpt.Fill(ds, "Table")
DataGridView1.DataSource = ds.Tables(0)
我想做什么,我需要做相同的代码,但使用 datagridview column1
解释: 我已经添加了将数据上传到 datagridview 的按钮,数据包括 ID 我需要按这些 ID 批量搜索,包含在 datagridview 中,然后将收入数据发布到另一个 datagridview,
提前致谢。
【问题讨论】:
您需要阅读、理解并开始使用参数化查询。这对 sql 注入很开放。我的朋友鲍比桌喜欢这种东西。 bobby-tables.com 你想在这里做什么? 【参考方案1】:首先,我认为您应该更正现有代码以使用 SQL 参数。
Dim com As New SqlCommand("SELECT * FROM Table WHERE ID= @Id;", cnn)
com.Parameters.Add("@Id", SqlDbType.VarChar).Value = TextBox1.Text
Dim Adpt As New SqlDataAdapter(com)
现在使用第一行第一列中的值
Dim strId As String = DataGridView1.Rows(0).Cells(0).Value.ToString
Dim com2 As New SqlCommand("SELECT * FROM Table WHERE ID= @Id;", cnn)
com2.Parameters.Add("@Id", SqlDbType.VarChar).Value = strId
Dim Adpt2 As New SqlDataAdapter(com2)
我不得不猜测数据类型。请检查您的数据库以获得正确的类型。我猜它是某种类型的字符串,因为您将它用单引号括起来。
【讨论】:
非常感谢它现在可以正常工作,我只有一个问题,我需要使用第一列值中的值而不是第一行,我如何编辑此代码来执行此操作?提前致谢。 @玛丽For Each row As DataGridViewRow In DataGridView1.Rows
但您无法在迭代时更改 DataGridView。将值保存到其他内容并在循环后使用它们。以上是关于按 datagridview1 column1 值搜索的主要内容,如果未能解决你的问题,请参考以下文章
是否可以按 column1 分组,但在 DAX 中显示 column2?
如何在整个数据集中查找 column1 值超过平均 column1 值两倍的所有数据行?