我如何解决此错误输入字符串的格式不正确。无法存储在 EmpID 列中。预期类型为 Int32
DataSet info = this.GetData.getInfo("SELECT 0 AS ErNo,Er.EmpID,(Er.FName&' '&Er.MName&' '&Er.LName) AS [Employee Name], ss.DeptNo AS [Dept No] FROM (EmpReg AS Er INNER JOIN EmployeeDept AS ss ON Er.EmpId = ss.EmpId) WHERE ss.DeptId=" + (object)DeptID + " AND ss.Status=0 AND Er.EmpStatus=1 ORDER BY " + str, "EmployeeDept");
var tbl = info.Tables[0];
tbl.Rows.Add(new object[] {
index,
tbl.Rows[index]["Employee Name"].ToString(),
tbl.Rows[index]["Dept No"].ToString(),
tbl.Rows[index]["EmpId"]
};
列的顺序tbl
在 SELECT 语句中定义。所以你的表有以下列:
接下来,您尝试添加新行,但您输入的数据值的顺序不正确。此外,您正在尝试将已经是正确类型的字段转换为字符串。试试这个:
tbl.Rows.Add(new object[] {
index,
tbl.Rows[index]["EmpId"] // This field is moved two fields to the left / up.
tbl.Rows[index]["Employee Name"], // Without the ToString.
tbl.Rows[index]["Dept No"], // Without the ToString.
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句