我正在为Employees Management编写一个程序,我需要为每个人自动生成一个Payroll,然后计算一些东西并将其保存到另一个表中。
我知道如何计算和保存。我只需要获取Employees表中所有行的所有ID列,并逐个选择每个Employee ID,以便自动计算每个工资单。
我很感激你的帮助。
答案 0 :(得分:1)
我会为它创建一个名为myEmployee的对象。 然后获取整个表并将其放入列表中。 确保该对象具有所需的所有属性,因此在这种情况下,这将是计算所需的所有colls。 你会得到
Dim myList as List(Of myEmployee) = *function that returns you the table*
完成后,您可以循环使用。
For Each result as myEmployee in myList
"Execute functions for calculating and saving it to the other table"
Next
通过这种方式,您可以将所有结果放在列表中,并且可以轻松地逐个遍历所有这些结果。 这段代码的执行可能不够好,但只要你能够按照我的方式看到它的基本思想,你就会看到我要去的地方:)
希望这可以提供任何帮助
答案 1 :(得分:1)
如果您需要根据employeeID查找的信息位于另一个表中,您可能希望使用内部联接来一次选择所需的所有SQL数据。像这样:
SELECT tblEmployee.EmployeeID, PayRate FROM tblEmployee INNER JOIN tblPayRates ON tblEmployee.EmployeeID= tblPayRates.EmployeeID
在选择中,确保为两个表中相同的任何字段添加表名。然后,您可以列出包含您收集的所有数据的项目列表,或者以您需要的任何格式计算和存储该信息。
如果你真的只想从单个表中看到这样的ID:
SELECT EmployeeID FROM tblEmployee
生成查询和获取结果的代码如下所示:
Dim cn As New MySqlConnection(ConnectionString)
Dim cmd As New MySqlCommand(Query, cn)
Dim reader As MySqlDataReader = cmd.ExecuteReader
Dim IdList as new List(Of Integer)
Do While reader.Read
IdList.add(reader.GetInt32(0))
Loop
reader.Close()
cmd.Dispose()
cn.Close()
我使用了一个Integer列表来保存结果,因为我不确定你的ID是什么类型。
如果你在select中有多个字段,你可以将它添加到循环中,如果需要改变你得到的类型然后递增索引(例如reader.GetString(1))
我不确定所有这一部分你不确定如何继续...所以我希望这是正确的方向。