SqlDataAdapter 会自动打开数据库连接,关闭连接。(自动 conn.open() conn.close())
using System;using System.Collections.Generic;using System.ComponentModel;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace _01SqlDataAdapterDemo{ public partial class MainFrm : Form { public MainFrm() { InitializeComponent(); } private void MainFrm_Load(object sender, EventArgs e) { //把UserInfo表中数据加载到 窗体的DataGridView string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString; using (SqlConnection conn = new SqlConnection(connStr)) { string strSql = "select UserId, UserName, UserAge, DelFlag, CreateDate, UserPwd, LastErrorDateTime, ErrorTimes from userinfo "; //创建一个 适配器类。 using (SqlDataAdapter adapter = new SqlDataAdapter(strSql,conn)) { DataTable dt =new DataTable(); //把数据库中的数据填充到内存表Dt中。 //填充之前不需要打开数据库连接,Adapter会自动打开连接,并执行sql。 adapter.Fill(dt); //dt.Rows[0][1] //第一行第一列的值 List<UserInfo> userList =new List<UserInfo>(); foreach (DataRow dataRow in dt.Rows) { Console.WriteLine(dataRow["UserId"] + " " + dataRow[1]); //dataRow[1] 第一列的值 //把每一行数据封装成 UesrInfo对象。 userList.Add(new UserInfo() { Id=int.Parse(dataRow["UserId"].ToString()), UserName = dataRow["UserName"].ToString(), UserAge =int.Parse(dataRow["UserAge"].ToString()) }); } //把dt的数据转换成List<UserInfo> this.dgvUserInfo.DataSource = userList; //DataGridView控件 } } } }}