大家新年好啊,这是去年的问题,一直用了各种办法,想实现一个发送邮件,通过click按钮然后将问题的title和body发送给该公司对应的客服,问题出现了:每家公司对应的客服数量不等,在1-5人之间。
之前想用sql语句进行逐行输出,可是失败了。因为我用的是sql 2000没有row_number()函数。sql语句为
select mail,nickname from newregister  where nickname  in (select  name from custom1 where company = '"+xxxx.text+"' )
代码如下:
DataList2.DataSource = dt1;DataList2.DataBind();string row1 =dt1.Rows[0][0].ToString();
string row2 =dt1.Rows[1][0].ToString();
string row3 =dt1.Rows[2][0].ToString();
string row4 =dt1.Rows[3][0].ToString();
string row5 =dt1.Rows[4][0].ToString();用datatable取出1-5行的第一列,但是也有问题,如果当前客户只有4个客服或更少 ,第5行为空,报错。
求指点如何解决,是否可以在datalist中加入if 第5行不为空。求大神啊!。解决困扰一年的问题

解决方案 »

  1.   

    foreach 循环行 动态取。 你写死 肯定会报错
      

  2.   


    for(int i=0;i<dt1.Rows.count;i++)
    {
       response.write(dt1.Rows[i][0].ToString());
    }
      

  3.   


    yumen,输出了response.write(dt1.Rows[i][0].ToString());但是我怎么把他string出来呢?因为我Rows[0],[1],[2],[3],要分别发送邮箱呀?
    还是要 string,怎么string法?
      

  4.   

    我的mail是这个格式MM.To.Add(new MailAddress("[email protected]","leon", Encoding.GetEncoding(936)));
    [email protected]替换成string...
      

  5.   


    第一种:直接循环里面发邮件就行
    for(int i=0;i<dt1.Rows.count;i++)
    {
       response.write(dt1.Rows[i][0].ToString());
       send(xxxxxx);
    }
    第二种:数组
    string str=string.Empty;
    string[] arrStr=new string[dt1.Rows.count];
    for(int i=0;i<dt1.Rows.count;i++)
    {
       arrStr[i]=dt1.Rows[i][0].ToString();
    }
    第三种:
    string str=string.Empty;
    for(int i=0;i<dt1.Rows.count;i++)
    {
       str+=dt1.Rows[i][0].ToString()+"|";
    }
    str=str.substring(0,str.length-1);string[] arrStr=str.split('|');
    直接在循环里面处理操作要少很多!方便很多