【发布时间】:2016-04-04 09:41:30
【问题描述】:
我想将数据库中的数据显示到gridview。但是,当我进行调试时,datareader 会读取数据,但无法将其显示到网格中。 你能帮忙解决这个问题吗? 这是我的代码。
Dim strSQL_ = "SELECT FDREF, FDESTKCODE, FDESTKEXP, FDEAMOUNT, FDEUNIT, FDEPRICE, " & _
"FDETOTALPRICE, FMAREF FROM FICHEDETAIL WHERE FMAREF = '" & fmaref3_ & "'"
Dim dsx1 = New DataSet
Dim adx1 As New SqlClient.SqlDataAdapter(strSQL, objCon)
adx1.Fill(dsx1, "a")
Dim t1 As DataTable = dsx1.Tables("a")
mygrid.DataSource = dsx1.Tables("a")
objCon.Close()
Dim sqlCmd_ As New SqlCommand(strSQL_, objCon)
objCon.Open()
sqlCmd_.ExecuteNonQuery()
Dim dreader_ As SqlDataReader
dreader_ = sqlCmd_.ExecuteReader
If dreader_.Read Then
Dim a As Integer
For a = 0 To GridView6.RowCount - 1
Dim ref_ As String = dreader_.GetInt32(dreader_.GetOrdinal("FDREF")).ToString()
ref_ = dreader_.GetString(dreader_.GetOrdinal("FDESTKCODE")).ToString()
GridView6.SetRowCellValue(a, "FDESTKCODE", ref_)
ref_ = dreader_.GetString(dreader_.GetOrdinal("FDESTKEXP")).ToString()
GridView6.SetRowCellValue(a, "FDESTKEXP", ref_)
ref_ = dreader_.GetDouble(dreader_.GetOrdinal("FDEAMOUNT")).ToString()
GridView6.SetRowCellValue(a, "FDEAMOUNT", ref_)
ref_ = dreader_.GetString(dreader_.GetOrdinal("FDEUNIT")).ToString()
GridView6.SetRowCellValue(a, "FDEUNIT", ref_)
ref_ = dreader_.GetDecimal(dreader_.GetOrdinal("FDEPRICE")).ToString()
GridView6.SetRowCellValue(a, "FDEUNIT", ref_)
ref_ = dreader_.GetDecimal(dreader_.GetOrdinal("FDETOTALPRICE")).ToString()
GridView6.SetRowCellValue(a, "FDETOTALPRICE", ref_)
Next
End If
【问题讨论】:
-
通常
objCon.Close()后面的代码是多余的。mygrid.DataSource = dsx1.Tables("a")行足以填满GridView。 -
是的,你完全正确。我尝试了很多事情或方法来应对。之后的代码。 objCon.close() 我做了注释行,我仍然无法在网格中显示它们。
标签: sql vb.net gridview devexpress xtragrid