VB.Net DataGridView控件问题,急啊.大家帮帮忙.谢谢!

PrivateSubTextBox1_TextChanged(senderAsObject,eAsEventArgs)HandlesTextBox1.TextChange... Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

Dim SqlConnection As SqlClient.SqlConnection
Dim strConnect As String = "Data Source=127.0.0.1;Initial Catalog=ScData;User Id=sa;Password=123;"
SqlConnection = New System.Data.SqlClient.SqlConnection(strConnect)
SqlConnection.Open()

Dim DataAdapter As New SqlDataAdapter
Dim Dst As New DataSet
Dim Dt As New DataTable

Dim Sql As String = "Select 批号,物料代码,物料名称,规格型号,宽度,长度,包数,每包数量,总数量'张卷数',总长度,主计量单位'单位',主单位数量'数量',Case When 最后调拨至仓库='' Then 仓库 Else 最后调拨至仓库 End'仓库',Case When 最后调拨至仓位='' Then 仓位 Else 最后调拨至仓位 End'仓位' From 物料 Where 批号= ('" & TextBox1.Text & "')"
Dim Cmd As SqlCommand = New SqlCommand(Sql, SqlConnection)

DataAdapter.SelectCommand = Cmd
DataAdapter.Fill(Dst, "info")
Dt = Dst.Tables("info")

'DataGridView1.AutoGenerateColumns = True '自动创建列
'DataGridView1.DataSource = Dt

For Each row As DataRow In Dt.Rows
DataGridView1.Rows.Add(row("批号").ToString(), row("物料代码").ToString(), row("物料名称").ToString(), row("规格型号").ToString(), row("宽度").ToString(), row("长度").ToString(), row("张卷数").ToString(), row("单位").ToString(), row("数量").ToString(), row("仓库").ToString(), row("仓位").ToString())
Next
End Sub

问题是: DataGridView1.Rows.Add可以一行一行往DataGridView控件里插入数据,我在textbox控件里面连续输入两个一样的值,SQL语句执行两次,并且也会往DataGridView控件插入两行相同数据!怎么让它弹出错误提示,并且只能插入一次.
展开
 我来答
阳光的雷咩咩
2013-12-29 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:8257万
展开全部
在TextBox1_TextChanged事件里面写不一定是好办法,加一个按钮来触发还好些,可以留联系看。
更多追问追答
追问
麻烦你加下我的Q,帮忙一下.50532370
追答
我晚上才在线哦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
czgas888
2013-12-27 · 超过19用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:20.9万
展开全部

先清除,再插入

DataGridView1.Rows.Clear()
更多追问追答
追问
先清除,那我以前的数据也消失了啊,我不是要的这个效果
追答
先根据关键字查询表格是否存在,再添加
For Each row As DataRow In Dt.Rows
Dim query = From DataGridViewRow r In DataGridView1.Rows _
Where r("关键字").Value.ToString().Trim() =row("关键字").ToString().Trim()
If query.Count() > 0 Then
Continue For
End If
DataGridView1.Rows.Add(row("批号").ToString(), row("物料代码").ToString(), row("物料名称").ToString(), row("规格型号").ToString(), row("宽度").ToString(), row("长度").ToString(), row("张卷数").ToString(), row("单位").ToString(), row("数量").ToString(), row("仓库").ToString(), row("仓位").ToString())
Next
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式