加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

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

发布时间:2020-12-15 01:08:57 所属栏目:C语言 来源:网络整理
导读:普通的ADO.NET获取DataSet的写法如下: using System.Configuration;using System.Data;using System.Data.SqlClient;public class SQLHelper{ private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["Default"].Conne

普通的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;
  }
 }
}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读