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控件
- }
- }
- }
- }
- }