按 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 值两倍的所有数据行?

vb.net 获取datagridview1中选中行的值

带有子查询的 SQL 多个聚合函数

winform中获取datagridview如何获取选中的行,返回值object

为数据集中存在的所有不同column2值填写缺少的column1值