dr["scompanyname"] = dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'")[0]["scompanyname"].ToString();
为啥这句老显示数组越界呢?
还有就是根据表的编码查询对应的名称语句不是这样写吗?
各位大鸟们帮下忙撒!!!
为啥这句老显示数组越界呢?
还有就是根据表的编码查询对应的名称语句不是这样写吗?
各位大鸟们帮下忙撒!!!
解决方案 »
- 网站经iis发布后,导出excel出问题
- 遍历数组,然后赋值给textbox
- 正则表达式共用同一字符
- 一个datagridview绑定数据集合的问题
- 大家帮帮忙啊!关于SqlDataAdapter参数配置问题
- VS.net 2005中的一个2003的功能
- 谁能告诉我怎么使用jmail的jmail.POP3Class的Connect方法怎么使用的?
- 如何更改基于winform的datagrid中某一列的宽度
- 如何使form窗体总在最前端显示~~~~~并使文字窗体中滚动实现!!!!!!
- C#如何得到一个接收方邮件的smtp服务地址或MX地址
- 图形消失的问题
- 新手问个问题?什么时候用数据库,什么时候不用数据库
你这个得到的是0条记录,所以后面[0]取第一条数据肯定提示越界
这个很有可能为null
string[] arrSrcComp = sSrcComp.Split(new Char[] { ';'});
for (int i = 0; i < arrSrcComp.Length; i++)
{
DataRow dr = dt_SrcComp.NewRow();
dr["scompanycode"] = arrSrcComp[i];
dr["scompanyname"] = dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'")[0]["scompanyname"].ToString();
dt_SrcComp.Rows.Add(dr);
源代码是这样的,我就是想获得对应单位编码的单位名称
错误信息:;索引超出了数组界限。
private void cmb_HZFA_SelectedIndexChanged(object sender, EventArgs e)
{
string sSrcComp = dt_HZFA.Rows[cmb_HZFA.SelectedIndex]["SSRCCOMPCODE"].ToString();
string sDesComp = dt_HZFA.Rows[cmb_HZFA.SelectedIndex]["SDESCOMPCODE"].ToString();
this.UIP.FrameManager.ShowInformation("xx", sSrcComp + "||" + sDesComp);
reloadSrcComp(sSrcComp);
reloadDesComp(sDesComp);
} private void reloadSrcComp(string sSrcComp)
{
this.Grid_SrcCom.Clear();
this.dt_SrcComp = this.dt_DWML.Clone();
this.Grid_SrcCom.DataSource = dt_SrcComp;
if (sSrcComp.Trim() != "")
{
//001;002;4LZTLJ000
string[] arrSrcComp = sSrcComp.Split(new Char[] { ';'});
for (int i = 0; i < arrSrcComp.Length; i++)
{
DataRow dr = dt_SrcComp.NewRow();
dr["scompanycode"] = arrSrcComp[i];
dr["scompanyname"] = dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'")[i]["scompanyname"].ToString();
dt_SrcComp.Rows.Add(dr);
Grid_SrcCom.Cols["scompanycode"].Caption = "单位编码";
Grid_SrcCom.Cols["scompanycode"].Width = 120;
Grid_SrcCom.Cols["scompanyname"].Caption = "单位名称";
Grid_SrcCom.Cols["scompanyname"].Width = 250;
}
}
} private void reloadDesComp(string sDesComp)
{
this.Grid_DesCom.Clear();
this.dt_DesComp = this.dt_DWML.Clone();
this.Grid_DesCom.DataSource = dt_DesComp;
if (sDesComp.Trim() != "")
{
//hz1
DataRow dr = dt_DesComp.NewRow();
dr["scompanycode"] = sDesComp;
dr["scompanyname"] = dt_DWML.Select("scompanycode='" + sDesComp + "'")[0]["scompanyname"].ToString();
dt_DesComp.Rows.Add(dr);
Grid_DesCom.Cols["scompanycode"].Caption = "单位编码";
Grid_DesCom.Cols["scompanycode"].Width = 120;
Grid_DesCom.Cols["scompanyname"].Caption = "单位名称";
Grid_DesCom.Cols["scompanyname"].Width = 250;
}
}
dr["scompanyname"] = dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'")[0]["scompanyname"].ToString();
dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'")[0]是否为null
dr["scompanyname"] = dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'")[0]["scompanyname"].ToString();改成:DataRow[] result = dt_DWML.Select("scompanycode='" + arrSrcComp[i] + "'");
if(result!=null && result.Length>0) //做匹配结果判断
dr["scompanyname"] = result[0]["scompanyname"];
else
dr["scompanyname" = string.Empty;
dr["scompanyname" = string.Empty;少了一个"]"
{
}