服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - ADO.NET获取数据(DataSet)同时获取表的架构实例

ADO.NET获取数据(DataSet)同时获取表的架构实例

2020-05-21 14:28Jichan·Jong ASP.NET教程

下面小编就为大家分享一篇ADO.NET获取数据(DataSet)同时获取表的架构实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

普通的ADO.NET获取DataSet的写法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
  }
 }
}
?
1
2
3
4
5
6
<?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)

ADO.NET获取数据(DataSet)同时获取表的架构实例

ADO.NET获取数据(DataSet)同时获取表的架构实例

此时需要给SqlDataAdapter设置属性MissingSchemaAction为System.Data.MissingSchemaAction.AddWithKey

修改后的SQLHelper为

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
  }
 }
}

ADO.NET获取数据(DataSet)同时获取表的架构实例

以上这篇ADO.NET获取数据(DataSet)同时获取表的架构实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/godbell/archive/2017/12/17/8051418.html

延伸 · 阅读

精彩推荐