DataTable表名为空
1.
DataTable dt = new DataTable();
da.Fill(dt);
dt的名称为空,解决办法:DataTable dt = new DataTable(“test”);
2.
用DataSet
SqlDataAdapter da = new SqlDataAdapter();
da.TableMappings.Add("Table","test");
da.SelectCommand = cmd as SqlCommand;
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
可以通过SqlDataAdapter类的TableMappings属性实现。
SqlDataAdapter类的Fill方法填充DataSet中表名称,默认是Table, Table1, Table2……
SqlConnection conn=new SqlConnection("server=.; database=DataBaseName; uid=sa; pwd=sa"); //数据库连接,可以自己定义。
string sql="SELECT * FROM User; SELECT * FROM Product; SELECT * FROM Article;";
SqlCommand cmd=new SqlCommand(sql, conn);
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
//指定表名, TableMappings.Add方法,第一个参数是Fill DataSet时默认的表名,第二参数是指定的表名,可以根据需要自定义。
adapter.TableMappings.Add("Table", "User");
adapter.TableMappings.Add("Table1", "Product");
adapter.TableMappings.Add("Table2", "Article");
DataSet ds=new DataSet();
adapter.Fill(ds); //被填充到DataSet中有三张表,分别是User,Product,Article
这样就可以了,
很容易将查询返回多个表(填充到DataSet 的表),和数据库里的表联系起来,方便在程序使用。