您的位置:首页 > 运维架构 > 网站架构

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

2017-12-17 09:45 316 查看
普通的ADO.NET获取DataSet的写法如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Default" connectionString="Data Source=.;Initial Catalog=EFDb;Integrated Security=true"/>
</connectionStrings>
</configuration>


View Code
这里需要获取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;
}
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: