公司的員工管理系統,彈出位置0沒有資料列的錯誤,請大蝦們幫忙瞧瞧!
我放了一個ListBox控件,新增了兩數組,循環將ListBox的數據存入數組中。
代碼一:Guid[] uid_node2 = new Guid[] { };
string[] uid_node2Text = new string[] { };
getNode2(ref uid_node2, ref uid_node2Text);
if (uid_node2.Length > 0)
{
flow.AddParameter(uid_node2, uid_node2Text, myFlow.ExamineClass.All);
}
代碼二:
#region 獲取所有平行會簽的人
private void getNode2(ref Guid[] uid_node2, ref string[] uid_node2Text)
{
for (int i = 0; i < ListBox1.Items.Count; i++)
{
string str = "select id from dguser where logonid='" + this.ListBox1.Items[i].ToString() + "'";
DataTable dbTable = sqlProvider.FillDataTable(str);
if (dbTable.Rows.Count > 0)
{
int size_new = uid_node2.Length + 1;
Array.Resize(ref uid_node2, size_new);
Array.Resize(ref uid_node2Text, size_new);
uid_node2[i] = new Guid(dbTable.Rows[0][0].ToString().ToUpper());
uid_node2Text[i] = approveStatus.PointDeptManager.ToString();
}
}
}
#endregion
------解决方案--------------------------------------------------------
在位置0处没有任何行,说明你ListBox中的选择项在数据库中并没有对应的记录
你自己调试一下,很快能发现问题所在
------解决方案--------------------------------------------------------
str 对应的语句没有查到相应的结果,直接拷出来去数据库查查看。
打开即时窗口调试跟踪下就知道了,打开方式一般是 alt + ctrl + I
------解决方案--------------------------------------------------------
本地和服务器上的数据可能不一致..
------解决方案--------------------------------------------------------