我有DataGridView
使用Data
dbo.tblAttendanceTimes
显示tblAttendanceTimesTableAdapter.GetDataBy(intEmployee)
很明显,它会显示所选员工的所有Data
。
员工分为3组。我想要做的是在0
[intApprovedOvertime]
中显示Column
中所有正在查看的特定群组的值dbo.tblAttendanceTimes
的记录。
由于GetDataBy(intEmployee)
使这很困难,[intAttendanceGroup]
中没有Column
Table
,或者GetDataBy(intAttendanceGroup)
目前我拥有该组中员工的所有pk
值,但我正在努力检索该员工显示的所有记录,然后执行下一个员工并添加到之前显示的内容。
我希望我有意义,请询问您想要的任何其他信息。
答案 0 :(得分:0)
两个解决方案可能很有趣:
<强> 1 / 强>
Using con As New SqlClient.SqlConnection("YOUR SQL CONNECTION STRING")
Dim sqlString As String = "SELECT * FROM Table WHERE intApprovedOvertime = 0 AND fkEmployee = pkEmployee"
con.Open()
Dim da As New SqlClient.SqlDataAdapter(sqlString, con)
Dim ds As New DataSet
da.Fill(ds, "Table")
DataGridView1.DataSource = ds.Tables("Table")
ds.Dispose()
da.Dispose()
SqlConnection.ClearPool(con)
End Using
<强> 2 / 强>
Using con As New SqlClient.SqlConnection("YOUR SQL CONNECTION STRING")
Dim command As New SqlCommand("SELECT * FROM Table WHERE intApprovedOvertime = 0 AND fkEmployee = pkEmployee", con)
Dim reader As SqlDataReader = command.ExecuteReader()
While reader.Read()
DataGridView1.Columns.Rows.Add(reader(0), reader(1))
End While
End Using
在数字2中,您需要记住使 reader(x)适应您需要添加到Row的值的数量。您还可以通过以下方式获得特定列:
"SELECT Table.Name, Table.Position FROM Table WHERE intApprovedOvertime = 0 AND fkEmployee = pkEmployee"
可能没有什么小的语法错误我没有IDE与我哈哈。