首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

winform - 数据适配器SqlDataAdapter

2023-11-10 来源:花图问答
using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Drawing; 5 using System.Linq; 6 using System.Text; 7 using System.Threading.Tasks; 8 using System.Windows.Forms; 9 10 using System.Data;11 using System.Data.SqlClient;12 13 namespace DataBase_SqlDataAdapter14 {15 public partial class Form1 : Form16 {17 public Form1()18 {19 InitializeComponent();20 }21 22 private void button1_Click(object sender, EventArgs e)23 {24 // 清理listBox125 listBox1.Items.Clear();26 27 //从数据库Employee中读取教师名字存储到listBox128 BindDataWithListbox();29 }30 31 //从数据库Employee中读取教师名字存储到listBox132 private void BindDataWithListbox()33 {34 // 连接数据库的字符串35 string selectConnectionString = "Server = 192.0.0.1; DataBase = DuanLaoYeDataBase; UID = DuanLaoYe; PWD = 123456";36 // 执行查询Employee表的T-SQL语句37 string selectCommandText = "select * from Employee";38 //创建适配器 : 适配器会自动打开和关闭适配器自己打开的数据库连接39 using( SqlDataAdapter sda= new SqlDataAdapter(selectCommandText, selectConnectionString) )40 {41 // 在内存中创建数据表42 DataTable dt = new DataTable();43 44 // 将适配器读取到的结果集存储到DataTable中45 sda.Fill(dt);46 47 // 方法1 : 绑定数据源: 从DataTable表中获取48 listBox1.DataSource = dt;49 listBox1.DisplayMember = "Emp_Name"; // Employee表的Emp_Name字段名50 listBox1.ValueMember = "Emp_ID"; // Employee表的Emp_ID字段名51 52 /***********************************************************************53 * 方法2: 54 listBox1.BeginUpdate();55 foreach(DataRow dr in dt.Rows)56 {57 listBox1.Items.Add(dr[1].ToString().Trim());58 }59 listBox1.EndUpdate();60 ***********************************************************************/61 62 }63 }64 }65 }

技术分享

winform - 数据适配器SqlDataAdapter

标签:

小编还为您整理了以下内容,可能对您也有帮助:

在C#中用sqldataadapt和用sqlconnection连接数据库有什么区别?

LZ这个问题问的有点问题吧, 首先,SqlConnection是用来连接客服端和数据库的,而SqlDataAdapter是数据适配器,是用来存放和操作数据库的;同时也是DataSet实现断开模式的基础。所以,这2个不是同一类对像,他们完成的功能也不一样,但是你使用SqlDataAdapter也是首先需要使用SqlConnection建立连接。
另,2楼请不要误认子弟,当使用da.Fill(ds)时是可以自动打开连接,但是连接是不会自动关闭的,需要手动关闭。
最后推荐LZ去参考 MSDN 或者去 MSDN中文技术论坛 提此类问题.

在C#中用sqldataadapt和用sqlconnection连接数据库有什么区别?

LZ这个问题问的有点问题吧, 首先,SqlConnection是用来连接客服端和数据库的,而SqlDataAdapter是数据适配器,是用来存放和操作数据库的;同时也是DataSet实现断开模式的基础。所以,这2个不是同一类对像,他们完成的功能也不一样,但是你使用SqlDataAdapter也是首先需要使用SqlConnection建立连接。
另,2楼请不要误认子弟,当使用da.Fill(ds)时是可以自动打开连接,但是连接是不会自动关闭的,需要手动关闭。
最后推荐LZ去参考 MSDN 或者去 MSDN中文技术论坛 提此类问题.

SqlCommand和SqlDataAdapter的区别

SqlDataAdapter和SqlCommand区别:
  SqlCommand就是是命令了,可以用它来执行SQL命令;
  SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的一组对象;
  SqlCommand对应DateReader;
  SqlDataAdapter对应DataSet;
  SqlCommand是C#中与Sql数据库打交道的对象,几乎所有的Sql数据库操作都需要使用该对象来实现,但其功能有限,只是简单的实现了与Sql数据库的接口而已;
 
 SqlDataAdapter是一个功能强大的SqL数据适配器,也用于操作Sql数据库,但它的操作都要通过SqlCommand来实现(有一个属性
对象的类型就是SqlCommand),也就是说,可以把SqlDataAdapter看作是一个把一些特殊功能封装了、增强了的SqlCommand。

SqlCommand和SqlDataAdapter的区别

SqlDataAdapter和SqlCommand区别:
  SqlCommand就是是命令了,可以用它来执行SQL命令;
  SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的一组对象;
  SqlCommand对应DateReader;
  SqlDataAdapter对应DataSet;
  SqlCommand是C#中与Sql数据库打交道的对象,几乎所有的Sql数据库操作都需要使用该对象来实现,但其功能有限,只是简单的实现了与Sql数据库的接口而已;
 
 SqlDataAdapter是一个功能强大的SqL数据适配器,也用于操作Sql数据库,但它的操作都要通过SqlCommand来实现(有一个属性
对象的类型就是SqlCommand),也就是说,可以把SqlDataAdapter看作是一个把一些特殊功能封装了、增强了的SqlCommand。

sqlconnection,sqlcommand,sqldataadapter,sqldatareader,dataset

1 上帝说,要连接数据库,于是就有了sqlconnection (数据库连接,配置连接字符串等,用户名密码之类)

2 上帝说,要执行sql语句。于是就有了sqlcommand, 直接翻译成sql命令。每个sqlcommand都有commandtext跟parameters 文本跟参数。填写好这个命令,然后execute去执行。当然,要确保连接是open的才能执行。没连接啥都干不了。

3 上帝认为要有办法读取返回结果,于是便有了datareader.可以一条一条的读取(read)直到最后一条。

4 上帝认为,把执行的结果找个地方存起来是好的。于是就有了dataset。这个东西很完美,基本上能存各种数据跟关系,比datareader方便很多。里面有一个一个的dataview跟datatable.针对你的查询结果,当然,datatable又可以从datarow一个一个的循环取得

5 上帝觉得上述步骤太复杂了 -_-!

于是便有了SqlDataAdapter (翻译为SQL数据适配器,适配器模式) 它来封装简化了上述步骤。你只要new出来一个sqldataadapter,给他填上语句,直接fill到dataset就行了。 这样你什么都有了,只需要两步!

6 微软觉得,可视化的东西是上帝喜欢的(用户==上帝)

于是有了一个一个的SqlAdapter控件,DataSet控件,GridView控件....你可以直接拖到你的窗口(WinForm)或者页面(Asp.Net Web Application等)设置几个属性,绑定即可。一行代码都不用写。以至于普通网管跟文员都能成为潜在用户。(虽然这种方式被“专业程序员”所不齿)

7建议:

如果喜欢效率的,用command+datareader自己处理(要小心别弄得更差哦)

如果喜欢方便的,就大量的使用Adapter+DataSet吧。毕竟绑定太节约时间了

如果就想显示个数据而已...拖吧...反正你就是想给隔壁办公室显示个报表。干嘛想那么多。

希望这种风格你能喜欢

c#(winform)中如何用sqldatareader数据绑定到datagridview

String connectionString = "Data Source=local;Initial Catalog=TotalManagement;Integrated Security=True";

string selectCommand = "select ID,Name,LawRank,ExecuteDate,ContentType FROM LawsAndRegulations";

using (SqlConnection cn = new SqlConnection(connectionString))

{

SqlDataAdapter sda = new SqlDataAdapter(selectCommand , cn);

cn.Open();

DataSet dr = cmd.DataAdapter();

sda.Fill(dr);

dataGridViewLaw.DataSource = dr;

dataGridViewLaw.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);

}

显示全文