本文介绍了如果该字段不为null,如何从数据库中获取组合数据块的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在使用数据集填充datagridview(10列)。如果行的数据库表中的某些值(比如caste)为null,则我在运行时将第7列从文本框更改为comboboxcell。如果caste字段在数据库中不为null,那么comboboxcell应显示该特定行的值。下面是我尝试过的代码: 对于 每个行作为 DataGridViewRow 在 dgvUserDetails.Rows Dim cb As DataGridViewComboBoxCell = 新 DataGridViewComboBoxCell 如果 row.Index> 0 然后 如果 dgvUserDetails .Rows(row.Index).Cells( 7 )。Value.ToString = 或 不 IsDBNull(dgvUserDetails.Rows(row.Index) )。细胞( 7 )。值)然后 Dim con As OdbcConnection = 新 OdbcConnection sql = 从类别中选择描述,其中Catgry = 1 con.ConnectionString = connstring 如果 con.State = ConnectionState.Open 那么 con.Close() con.Open() Dim da As OdbcDataAdapter = 新 OdbcDataAdapter(sql,con) 如果 ds.Tables.Contains( Caste)然后 如果 ds.Tables( Caste)。Rows.Count> 0 然后 ds.Tables( Caste)。Rows.Clear() 结束 如果 结束 如果 da.Fill(ds, Caste) cb.DataSource = ds。表( Caste) cb.DisplayMember = 描述 dgvUserDetails.Rows(row.Index).Cells( 7 )= cb 其他 sql = 从类别中选择描述,其中ID =& dgvUserDetails.Rows(row.Index).Cells( 7 )。Value.ToString& 如果 rs .State = 1 然后 rs.Close() rs.Open(sql,MainCon, 1 , 3 ) 如果 不 rs.EOF 然后 gCaste = rs.Fields( 0 )。值 dgvUserDetails.Rows(row.Index).Cells( 7 )。Value = gCaste.ToString 结束 如果 结束 如果 结束 如果 下一步 我在数据库表中的第一条记录对caste字段有价值。但是在执行此行之后调试此代码 dgvUserDetails.Rows(row.Index).Cells(7).Value = gCaste.ToString 调试器进入dataError事件of datagridview.Can any1让我知道wat是这个代码中的问题?请帮帮我。急。解决方案 I am populating datagridview(10 columns) with dataset.I am changing 7th column from textbox to comboboxcell at run time if some value(say caste) in database table for row is null. If caste field is not null in database, then comboboxcell should display that value for that particular row.Below is the code I have tried:For Each row As DataGridViewRow In dgvUserDetails.Rows Dim cb As DataGridViewComboBoxCell = New DataGridViewComboBoxCell If row.Index > 0 Then If dgvUserDetails.Rows(row.Index).Cells(7).Value.ToString = "" Or Not IsDBNull(dgvUserDetails.Rows(row.Index).Cells(7).Value) Then Dim con As OdbcConnection = New OdbcConnection sql = "Select Description from Category where Catgry = 1" con.ConnectionString = connstring If con.State = ConnectionState.Open Then con.Close() con.Open() Dim da As OdbcDataAdapter = New OdbcDataAdapter(sql, con) If ds.Tables.Contains("Caste") Then If ds.Tables("Caste").Rows.Count > 0 Then ds.Tables("Caste").Rows.Clear() End If End If da.Fill(ds, "Caste") cb.DataSource = ds.Tables("Caste") cb.DisplayMember = "Description" dgvUserDetails.Rows(row.Index).Cells(7) = cb Else sql = "Select Description from Category where ID = " & dgvUserDetails.Rows(row.Index).Cells(7).Value.ToString & "" If rs.State = 1 Then rs.Close() rs.Open(sql, MainCon, 1, 3) If Not rs.EOF Then gCaste = rs.Fields(0).Value dgvUserDetails.Rows(row.Index).Cells(7).Value = gCaste.ToString End If End If End If Next My first record in database table have value for caste field.But debugging this code,after executing this linedgvUserDetails.Rows(row.Index).Cells(7).Value = gCaste.ToStringdebugger goes to dataError event of datagridview.Can any1 let me know wat is the problem in this code?Please help me.its urgent. 解决方案 这篇关于如果该字段不为null,如何从数据库中获取组合数据块的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
11-02 20:15