public DataSet getdelegat_Detail(string TableNameA,string FieldName)
{
string sql="Select * From 表1  inner join 表2 on 表1.local_no=表2.local_no ";
return ExecuteSqlDs(sql,TableNameA);
}
DataSet bxEqSj_Detail =getdelegat_Detail(TableNameA,FieldName);
int bxEqTotalNo=Convert.ToInt32(bxEqSj_Detail.Tables["表1"].Rows[0][0].ToString();
这里定义了一个DataSet   ,如果sql语句是从一个表中搜索的话 那么这样写:
Convert.ToInt32(bxEqSj_Detail.Tables["表1"].Rows[0][0].ToString();是对的但是如果是两个表的话  应该怎么写啊??   

解决方案 »

  1.   

    就是我定义了一个dataset 
     
    显示这个dataset 的一条数据是用bxEqSj_Detail.Tables["表1"].Rows[0][0].ToString()来显示但是如果这个dataset的sql语句是多个表联合搜索的话,那么上面["表1"]  这里就是错的
      

  2.   

    那是一定的了,因为一个SQL语句只可能有一个Tables["表名"](不管是几张表的连接),而表名是在
    Fill(ds,"表名")的时候取的,(如果ds只绑定一个SQL语句的时候,可以不取,默认就为0)
    但是你几张表的数据都可以取的到的啊
    用bxEqSj_Detail.Tables[0或"你取的名字"].Rows[0][“字段名”].ToString(),
    如果连接的表中有相同的字段,可以在写SQL语句的时候给它们取个别名