日期:2014-05-17  浏览次数:20905 次

位置0沒有資料列,急!
公司的員工管理系統,彈出位置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
------解决方案--------------------
本地和服务器上的数据可能不一致..
------解决方案--------------------
探讨
我在我自己本地調試是沒有問題的,但是放入公司的正式區之後就會出現位置0沒有資料列的情況!