datalist取第一行第一列数据,第二行第一列数据。。。。急

时间:2021-07-24 13:35:33
大家新年好啊,这是去年的问题,一直用了各种办法,想实现一个发送邮件,通过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行不为空。

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

9 个解决方案

#1


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

#2



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

#3


2楼正解,必须使用循环,不能写死

#4


该回复于2013-01-04 13:03:21被管理员删除

#5


引用 2 楼 yumen3501 的回复:
C# code?1234for(int i=0;i<dt1.Rows.count;i++){   response.write(dt1.Rows[i][0].ToString());}


yumen,输出了response.write(dt1.Rows[i][0].ToString());

但是我怎么把他string出来呢?因为我Rows[0],[1],[2],[3],要分别发送邮箱呀?
还是要 string,怎么string法?

#6


我的mail是这个格式

MM.To.Add(new MailAddress("xxxx@163.com","leon", Encoding.GetEncoding(936)));
把xxxx@163.com替换成string...

#7



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


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

#8


引用 7 楼 yumen3501 的回复:
C# code?12345678910111213141516171819202122第一种:直接循环里面发邮件就行for(int i=0;i<dt1.Rows.count;i++){   response.write(dt1.Rows[i][0].ToString());   send(xxxxxx);}第二种:数组string str=string.Empty;str……

++

#9


奥巴马,你赢了。。。

#1


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

#2



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

#3


2楼正解,必须使用循环,不能写死

#4


该回复于2013-01-04 13:03:21被管理员删除

#5


引用 2 楼 yumen3501 的回复:
C# code?1234for(int i=0;i<dt1.Rows.count;i++){   response.write(dt1.Rows[i][0].ToString());}


yumen,输出了response.write(dt1.Rows[i][0].ToString());

但是我怎么把他string出来呢?因为我Rows[0],[1],[2],[3],要分别发送邮箱呀?
还是要 string,怎么string法?

#6


我的mail是这个格式

MM.To.Add(new MailAddress("xxxx@163.com","leon", Encoding.GetEncoding(936)));
把xxxx@163.com替换成string...

#7



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


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

#8


引用 7 楼 yumen3501 的回复:
C# code?12345678910111213141516171819202122第一种:直接循环里面发邮件就行for(int i=0;i<dt1.Rows.count;i++){   response.write(dt1.Rows[i][0].ToString());   send(xxxxxx);}第二种:数组string str=string.Empty;str……

++

#9


奥巴马,你赢了。。。