是这样:我用下面的代码在数据库中进行查询,得到一个DataTable对象:string Sql = "select name from jmail";
SqlConnection conn=new SqlConnection(DBManage.DataAccess.ConnectionStrBySql);
SqlDataAdapter adapter = new SqlDataAdapter(Sql, conn);
DataTable table = new DataTable();
adapter.Fill(table);现在我要遍历查询出来的所有字段名为“name ”的值:
int j;
foreach (string i in dt.Rows [j]["name"].ToString ())
{
string Address=dt.Rows [j]["name"].ToString ();
txtTo.Text="+Address+";
}
结果编译的时候发生错误:无法将类型“char”转换为“string”请大家教我这个问题应该怎么解决?
是不是要先把dt.Rows [j]["name"]声明成一个数组呢?

解决方案 »

  1.   

    foreach (string i in dt.Rows [j]["name"].ToString ())
    {
    string Address=dt.Rows [j]["name"].ToString ();
    txtTo.Text="+Address+";
    }
    这段是你拷贝的代码马?
    我怎么觉得Rows [j]这里不应该有空格阿?.ToString ()这里好像也不应该有空格
      

  2.   

    好像不能同时 即用数字索引又用 字符串索引吗, 可以先把 dt.Rows[j] 取出来(DataGridRow), 慢慢调一下就应该知道了.
      

  3.   

    我想能不能先把DataTable的值赋给一个数组呢?类似于这样:
    string[] numbers =new string{"dt.Rows [j]["name"]"}
      

  4.   

    改成这样也不可以:
    for (int j=0;j<dt.Rows.Count;j++)
    {
    foreach (int i in dt.Rows [j]["name"])
    {
    string Address=dt.Rows [j]["name"].ToString ();
    mailMsg.To ="+Address+";
    txtTo.Text="+Address+";
    }
    }
    foreach 语句无法对“int”类型的变量操作,因为“int”不包含“GetEnumerator”的定义,或它是不可访问的
      

  5.   

    foreach(DataRow dr in dt.Rows )
    {
    string Address=dt.Rows [j]["name"].ToString ();
    mailMsg.To ="+Address+";
    txtTo.Text="+Address+";}
      

  6.   

    上边写错了.不好意思
    foreach(DataRow dr in dt.Rows )
    {
    string Address=dr["name"].ToString ();
    mailMsg.To ="+Address+";
    txtTo.Text="+Address+";}
      

  7.   

    string Sql = "select name from jmail";
    SqlConnection conn=new SqlConnection(DBManage.DataAccess.ConnectionStrBySql);
    SqlDataAdapter adapter = new SqlDataAdapter(Sql, conn);
    dataset ds=new dataset();
    adapter.Fill(ds);
    DataTable dt= ds.tables[0];
    foreach(datarow in dt.rows)
    {
    string Address=dt.Rows["name"].ToString ();
    txtTo.Text+=Address;}