实现Windows程序的数据的绑定
1.创建DataSet对象
语法:
DataSet 数据集对象 =new DataSet("数据集的名称字符串");
语法中的参数是数据集的名称字符串,可以有,也可以没有。如果没有写参数,则创建的数据及名称为NewDataSet
2.认识DataAdapter对象
.NET数据提供程序及其DataApater类
.NET数据提供程序 数据适配器
SQL数据提供程序System.Data.SqlClient命名空间 SqlDataApater
OLE DB数据提供程序 System.Data.OleDb命名空间 OleDbDataApater
ODBC数据提供程序System.Data.Odbc命名空间 OdbcDataApater
Oracle数据提供程序System.Data.Oracle命名空间 OracleDataApater
数据适配器是从数据库读取数据,是通过Command对象命令实现的,他是数据适配器的一个属性SelectCommand。
把数据放在DataSet,需要使用DataApater的Fill()方法。反过来,要把数据保存到数据库
DataAdapter对象的主要属性和方法
属性 说明
SelectCommand 从数据库检索数据的Command对象
方法 说明
Fill() 向DataSet中的表填充数据
Update() 将DataSet中的数据提交到数据库
3.填充数据集
使用DataAdapter填充的步骤
1.创建数据库连接对象
2.创建从数据库中查询用的SQL语句
3.利用上面创建的SQL语句和Command对象创建DataAdApter数据库
创建数据库语法如下:
语法:
SqlDataAdapter 对象名 =new SqlDataAdapter(查询用的Sql语句,数据库连接);
或 SqlDataAdapter adapter =new SqlDataAdapter();
SqlCommand command=new SqlComand (查询用的SQL语句,数据库连接);
adapter.SelectCommand=command;
4.调用DataAdapter对象Fill()方法填充数据集语法如下:
DataAdapter 对象.Fill(数据集对象,"数据表名称字符串");
在第四步中,Fil()方法接收一个数据表名称的字符串参数。如果这个数据库中原来没有这个数据表,调用Fill()方法后会创建一个数据表。
如果这个数据集中原来有这个数据表,就会把现在查出来的数据继续添加到那个表中。
5.数据绑定
ComboBox数据绑定
ComboBox的主要属性
属性 说明
DataSource 获取或设置数据源
DispayMember 获取或设置要为此ListControl显示的属性
ValueMenber 获取或设置一个属性,该属性将用作ListControl中项的实际值
在ListBox,ControlBox控件上都有ValueMember属性和DisplayMember属性。这些控件一般包括两部分的吧。一部分是可见的,如DisplayMember属性;
另一部分是不可见得如,ValueMember属性。通过ValueMember属性和DisplayMember属性是配对使用的。DisplayMember属性是用来绑定现实的数据的。
6.DataGirdView控件
认识DataGirdView控件
DataGirdView控件的主要属性
属性 说明
AutoGenerateClumns 设置DataGirddView是否自动创建列
Columns 包含的列的集合
DataSource DataGirdView数据源
ReadOnly 是否可以编译单元格
通过Columns属性,还可以设置DataGirdView控件中每一列属性,包括列的宽度,样式,列头的文字,是否为只读,是否为冻结,对应的数据表,的哪一列等
DataGirdView控件各列的主要属性
属性 说明
ClomunsType 列的属性
DataPropertyName 绑定列的名称
HerderText 列表题文本
Visble 指定列是否可见
Frozen 指定水平滚动DataGirdView时,列是否移动
ReadOnly 指定单元格是否为只读
7.保存对属性的修改
1.使用SqlCommandBuilder对象生成个更新用的相关命令
语法:
SqlCommandBuilder builder=new SqlCommandBuilder(已创建的DataAadapter对象);
在创建SqlCommandBuilder 对象时,需要将实例化的DataAdapter作为参数传递给SqlCommandBuilder类的构构造函数。利用SqlCommandBuilder类构造函数。
利用SqlCommandBuilder类的构造函数。利用SqlCommandBuilder对象能够自动执行InsertCommand,UpdataCommmand和,DelectCommand等命令对象
2.调用DataAdapter对象的Update()方法
语法:
DataAdapter 对象。Uptdate(数据集对象,"数据变名称字符串");
Update 有两个参数,分别是需要将更新的数据写入数据库的DataSet和数据库中更新的表名称。
实现Windows程序的数据的绑定的更多相关文章
- 重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据
[源码下载] 重新想象 Windows 8 Store Apps (54) - 绑定: 增量方式加载数据 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 绑定 通过实 ...
- 如何在原生微信小程序中实现数据双向绑定
官网:https://qiu8310.github.io/minapp/ 作者:Mora 在原生小程序开发中,数据流是单向的,无法双向绑定,但是要实现双向绑定的功能还是蛮简单的! 下文要讲的是小程序框 ...
- 前端笔记之微信小程序(二){{}}插值和MVVM模式&数据双向绑定&指令&API
一.双花括号{{}}插值和MVVM模式 1.1 体会{{}}插值 index.wxml的标签不是html的那些标签,这里的view就是div. {{}}这样的插值写法,叫做mustache语法.mus ...
- Windows程序----初识Windows程序
先来看一些励志名言来激励一下自己吧! 励志名言:每一发奋发奋的背后,必有加倍的赏赐 1.有无目标是成功者与平庸者的根本差别. 2.成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成. 3.当 ...
- 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数据转换
[源码下载] 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数 ...
- 重新想象 Windows 8 Store Apps (53) - 绑定: 与 ObservableCollection CollectionViewSource VirtualizedFilesVector VirtualizedItemsVector 绑定
[源码下载] 重新想象 Windows 8 Store Apps (53) - 绑定: 与 ObservableCollection CollectionViewSource VirtualizedF ...
- 重新想象 Windows 8 Store Apps (55) - 绑定: MVVM 模式
[源码下载] 重新想象 Windows 8 Store Apps (55) - 绑定: MVVM 模式 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 绑定 通过 M ...
- 窗体==>>初始Windows程序
初识Windows程序 01.创建Windows程序(VS) 01.打开Visual Studio开发工具 02.选择"文件"→"新建"→"项目&qu ...
- windows程序防狼术入门
当初由于一些原因以及兴趣,学习了一段时间软件逆向,对于软件加密解密有了点粗略的了解.而后看到某些同学辛辛苦苦的搞出个软件,自己费心费力去加密,但搞出来后往往能被秒破,实不忍心.今天大概总结下一些基本的 ...
随机推荐
- Caused by: The Result type [json] which is defined in the Result annotation on the class
1.错误描述 严重: Dispatcher initialization failed Unable to load configuration. - [unknown location] at co ...
- 深度优先搜索DFS和广度优先搜索BFS简单解析(新手向)
深度优先搜索DFS和广度优先搜索BFS简单解析 与树的遍历类似,图的遍历要求从某一点出发,每个点仅被访问一次,这个过程就是图的遍历.图的遍历常用的有深度优先搜索和广度优先搜索,这两者对于有向图和无向图 ...
- Git Compare with base,比较大文件时,长时间等待,无法加载
问题 当使用Git比较一个大文件(几十兆数量级)版本见差异时,会一直等待加载,且内存消耗很大,导致其他进程很难执行.任务管理器中,可以看到此时的TortoiseGitMerge吃掉3G左右的内存. 原 ...
- NOIP2017总结
NOIP2017 总结 今年又炸飞天了,day1T1T2加起来不到100分,T3只有10分--怕真的要AFO了. 和去年一模一样day1炸飞天,day2虽然发挥正常但也无力回天 day1 Day1T1 ...
- luogu 访问”美术馆“ && 偷天换日
把这两个题放在一起,是因为这两个题差不多,难度递进其实是懒得写两个博客所以一起分享一下 访问“美术馆” 题目描述 经过数月的精心准备,Peer Brelstet,一个出了名的盗画者,准备开始他的下一个 ...
- [CQOI2015]任务查询系统
把一个任务拆成两个,在s时加入,在e+1时减去即可 直接离散化后上主席树 # include <bits/stdc++.h> # define IL inline # define RG ...
- 开发中使用mongoTemplate进行Aggregation聚合查询
笔记:使用mongo聚合查询(一开始根本没接触过mongo,一点一点慢慢的查资料完成了工作需求) 需求:在订单表中,根据buyerNick分组,统计每个buyerNick的电话.地址.支付总金额以及总 ...
- angular路由详解六(路由守卫)
路由守卫 CanActivate: 处理导航到某个路由的情况. CanDeactivate:处理从当前路由离开的情况. Resole:在路由激活之前获取路由数据. 1.CanActivate: 处理导 ...
- 在Debian系列Linux系统Ubuntu上安装配置yum的试验
用习惯了Red Hat系统的都知道我们习惯于三种安装方式:一种是rpm包的方式安装,一种就是tar包的方式来安装,还有一种方式就是yum源的安装. 首先rpm包的用法,我们一般是在Red Hat光驱里 ...
- systemd的作用
早上群上讨论了一下systemd的作用,还导致了一个人的直接退群,出于求知心理,搜索了一些systemd,对此也作出了一些相应的整理: 一.systemd的诞生: 学习嵌入式bootloader与ke ...