内容简介:下面小编就为大家分享一篇ADO.NET获取数据(DataSet)同时获取表的架构实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
普通的ADO.NET获取DataSet的写法如下:
using System.Configuration; using System.Data; using System.Data.SqlClient; public class SQLHelper { private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["Default"].ConnectionString; public static DataSet GetDataSet(string sql) { using (SqlConnection conn =new SqlConnection(ConnectionString)) { SqlCommand cmd = new SqlCommand(sql, conn); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); conn.Open(); adapter.Fill(ds); return ds; } } }
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Default" connectionString="Data Source=.;Initial Catalog=EFDb;Integrated Security=true"/> </connectionStrings> </configuration>
这里需要获取DataTable的主键信息,调试时发现没有主键信息,而实际数据库中是有主键(Id)
此时需要给SqlDataAdapter设置属性MissingSchemaAction为System.Data.MissingSchemaAction.AddWithKey
修改后的SQLHelper为
using System.Configuration; using System.Data; using System.Data.SqlClient; public class SQLHelper { private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["Default"].ConnectionString; public static DataSet GetDataSet(string sql) { using (SqlConnection conn =new SqlConnection(ConnectionString)) { SqlCommand cmd = new SqlCommand(sql, conn); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; DataSet ds = new DataSet(); conn.Open(); adapter.Fill(ds); return ds; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 微服务架构 : 获取微服务数据, 生成报表 (五)
- 根据 PID 获取 K8S Pod名称 - 反之 POD名称 获取 PID
- .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
- phpinfo获取敏感内容
- 低开销获取时间戳
- python 利率获取
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。