using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string con, sql;
//数据库的连接地址,本地测试连接格式如下,SQL Server登录模式为Windows登录
con = "Server=.;Database=你本地的库名;Trusted_Connection=SSPI";
sql = "select * from T";
SqlConnection mycon = new SqlConnection(con);
mycon.Open();
SqlDataAdapter myda = new SqlDataAdapter(sql, con);
DataSet myds = new DataSet();
myda.Fill(myds, "T");//将T表中的数据填充到myds中
System.Console.WriteLine(myds.Tables[0].Rows[0]["name"]);
}
}
}
以下两段摘自MSDN:
SqlConnection :
SqlConnection 对象表示与 SQL Server 数据源的一个唯一的会话。 在客户端/服务器数据库系统中,它等效于一个到服务器的网络连接。 SqlConnection 与 SqlDataAdapter 和 SqlCommand 一起使用,以便在连接到 Microsoft SQL Server 数据库时提高性能。 对于所有第三方 SQL 服务器产品以及其他支持 OLE DB 的数据源,请使用 OleDbConnection。当创建 SqlConnection 的实例时,所有属性都设置为它们的初始值。 有关这些值的列表,请参见 SqlConnection 构造函数。如果 SqlConnection 超出范围,则不会将其关闭。 因此,必须通过调用Close或Dispose显式关闭该连接。 Close 和 Dispose 的功能等效。 如果连接池值 Pooling 设置为 true 或 yes,则基础连接将返回到连接池。 另一方面,如果 Pooling 设置为 false 或 no,则实际上会关闭到服务器的基础连接。SqlDataAdapter :
SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。 SqlDataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。 更新是逐行进行的。 对于每个已插入、修改和删除的行, Update 方法会确定已对其执行的更改的类型(Insert、Update 或 Delete)。 根据更改类型,执行 Insert、Update 或 Delete 命令模板将已修改的行传播给数据源。 当 SqlDataAdapter 填充 DataSet 时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。 但是,除非 MissingSchemaAction 属性设置为 AddWithKey,否则这个隐式创建的架构中不包括主键信息。 也可以使用 FillSchema,让 SqlDataAdapter 创建 DataSet 的架构,并在用数据填充它之前就将主键信息包括进去。