当前位置: 代码迷 >> 综合 >> C# SqlDataAdapter,读取数据库数据
  详细解决方案

C# SqlDataAdapter,读取数据库数据

热度:96   发布时间:2024-01-15 04:16:16.0

SqlDataAdapter  会自动打开数据库连接,关闭连接。(自动 conn.open()  conn.close())

[csharp]  view plain  copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Configuration;  
  5. using System.Data;  
  6. using System.Data.SqlClient;  
  7. using System.Drawing;  
  8. using System.Linq;  
  9. using System.Text;  
  10. using System.Threading.Tasks;  
  11. using System.Windows.Forms;  
  12.   
  13. namespace _01SqlDataAdapterDemo  
  14. {  
  15.     public partial class MainFrm : Form  
  16.     {  
  17.         public MainFrm()  
  18.         {  
  19.             InitializeComponent();  
  20.         }  
  21.   
  22.         private void MainFrm_Load(object sender, EventArgs e)  
  23.         {  
  24.             //把UserInfo表中数据加载到 窗体的DataGridView  
  25.             string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;  
  26.             using (SqlConnection conn = new SqlConnection(connStr))  
  27.             {  
  28.                 string strSql = "select UserId, UserName, UserAge, DelFlag, CreateDate, UserPwd, LastErrorDateTime, ErrorTimes from userinfo ";  
  29.   
  30.                 //创建一个 适配器类。  
  31.                 using (SqlDataAdapter adapter = new SqlDataAdapter(strSql,conn))  
  32.                 {  
  33.                     DataTable dt =new DataTable();  
  34.                        
  35.                     //把数据库中的数据填充到内存表Dt中。  
  36.                     //填充之前不需要打开数据库连接,Adapter会自动打开连接,并执行sql。  
  37.                     adapter.Fill(dt);  
  38.   
  39.                     //dt.Rows[0][1]  //第一行第一列的值  
  40.   
  41.                     List<UserInfo> userList =new List<UserInfo>();  
  42.                     foreach (DataRow dataRow in dt.Rows)  
  43.                     {    
  44.                         Console.WriteLine(dataRow["UserId"] + "   " + dataRow[1]);  //dataRow[1]  第一列的值  
  45.                         //把每一行数据封装成 UesrInfo对象。  
  46.                         userList.Add(new UserInfo()  
  47.                         {  
  48.                             Id=int.Parse(dataRow["UserId"].ToString()),  
  49.                             UserName = dataRow["UserName"].ToString(),  
  50.                             UserAge =int.Parse(dataRow["UserAge"].ToString())  
  51.                         });  
  52.                     }  
  53.   
  54.                     //把dt的数据转换成List<UserInfo>   
  55.                     this.dgvUserInfo.DataSource = userList;  //DataGridView控件  
  56.                 }  
  57.             }  
  58.         }  
  59.     }  
  60. }