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

datalist取第一行第一列数据,第二行第一列数据。。。。急
大家新年好啊,这是去年的问题,一直用了各种办法,想实现一个发送邮件,通过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行不为空。

求大神啊!。解决困扰一年的问题

------解决方案--------------------

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

------解决方案--------------------

第一种:直接循环里面发邮件就行
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('
------解决方案--------------------
');


直接在循环里面处理操作要少很多!方便很多