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 的表),和数据库里的表联系起来,方便在程序使用。

posted @   net5x  阅读(262)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示