【发布时间】:2017-03-16 15:04:48
【问题描述】:
我目前遇到这个问题,我的 DataGridView 中的数据正在消失,但可以在 DataBindings 中读取它们。
Public Sub FillDataSetAndView()
SQL.ExecQuery("Select * From tblContestants")
dgvContestants.DataSource = SQL.DBDT
dgvContestants.AllowUserToAddRows = False
dgvContestants.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
dgvContestants.Columns.Clear()
dgvContestants.Columns.Add("ConName", "CONTESTANT NAME")
dgvContestants.Columns(0).DataPropertyName = "ConName"
lblContName.DataBindings.Add("Text", SQL.DBDT, "ConName")
End Sub
我使用dgvContestants.Columns.Clear()的原因是因为我想清除驻留在tblContetants(ConNum, ConName, ConImg) 中的大部分列,并将它们替换为我想加载到DataGridView 上的唯一column(ConName)。
最后一行代码是我将绑定放置到它们的位置的地方。 ConImg 给 PictureBox,ConNum 给价值持有者。
我知道是 dgvContestants.Columns.Clear() 使数据消失了,因为每当我尝试将其注释掉时,DataGridView 都会很好地显示记录,但我想忽略 DataGridView 的所有不必要的列。
【问题讨论】:
-
你应该用 QUOTENAME 包裹你的 dbName。正如发布的那样,这可能容易受到 sql 注入的影响。
-
@SeanLange 是的,谢谢你的提醒。
-
大声笑我真的想解决您的问题,而不是问题。 :D
标签: sql-server database vb.net winforms