1、第1章WinForm基础本章目标 了解窗体基础知识和常用属性 熟练使用标签、文本框、按钮控件 掌握列表框控件的使用 使用消息框弹出消息 熟练掌握窗体间链接什么是Windows窗体GUI界面控件Windows 操作系统中,处处是窗体创建第一个窗体应用程序在 VS 中创建 Windows 应用程序的步骤:1、打开 VS 2、新建项目3、项目类型:Visual C#项目4、模板:Windows 应用程序创建第一个窗体应用程序初识编译工具放置控件的区域各种控件windows应用程序文件夹结构项目名称主程序文件,包含Main方法我们编写代码的文件解决方案名称窗体设计器代码文件,代码为VS自动生成Main
2、方法解析 位于 Program.cs 文件 Windows程序的入口/Program.cs namespace MyForm static class Program .static void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1();Main 方法,程序的入口VS 自动生成一般不需要理会认识窗体代码文件 WinForms 窗体有两种编辑窗口:窗体设计器窗口窗体代码编辑窗口解析窗体类 Form 类:
3、.NET 预定义的窗体类 Form1 继承自 Form(继承的概念下学期学习)构造函数做一些初始化的工作编译器自动调用/Form1.cs namespace MyForm public partial class Form1:Form public Form1()InitializeComponent();冒号表示继承Form类定义了窗体的基本属性和行为我们创建的窗体都继承自Form类Form1具有相应的属性和行为窗体的重要属性Name:窗体对象的名字,类似于变量的名字 BackColor:窗体的背景色 ShowInTaskBar:设置窗体是否出现在任务栏 StartPosition:窗体第一
4、次出现时的位置 Text:窗体标题栏显示的文字 TopMost:设置窗体是否为最顶端的窗体 WindowState:窗体出现时最初的状态(正常、最大化、最小化)Windows窗体常用控件标签按钮组合框列表框文本框标签控件属性说明Text该属性用于设置或获取与该控件关联的文本方法说明 Hide隐藏控件,调用该方法时,即使 Visible 属性设置为 True,控件也不可见 Show 相当于将控件的 Visible 属性设置为 True 并显示控件事件说明 Click用户单击控件时将发生该事件文本框控件属性说明MaxLength 可在文本框中输入的最大字符数 Multiline 表示是否可在文本框
5、中输入多行文本 Passwordchar 机密和敏感数据,密码输入字符 ReadOnly 文本框中的文本为只读Text 检索在控件中输入的文本方法说明 Clear删除现有的所有文本 事件说明KeyPress用户按一个键结束时将发生该事件 按钮控件属性说明Enabled确定是否可以启用或禁用该控件方法说明PerformClick Button 控件的 Click 事件 事件说明Click单击按钮时将触发该事件什么是事件Windows 系统中处处是事件:鼠标按下、鼠标释放、键盘键按下Windows 系统通过事件处理来响应用户的请求显示开始菜单 我的电脑窗口打开事件触发 事件响应的结果 单击双击事件
6、驱动Windows 通过随时响应用户触发的事件做出相应的响应事件驱动机制我们需要做的:针对我们感兴趣的事件,编写相应的事件处理程序 WinForms 应用程序也是事件驱动的示例:编写按钮控件点击事件代码namespace MyFirstWinForm public partial class Form1:Form public Form1()InitializeComponent();this.txtName.Text=张三;/按钮的事件方法,里面填写代码,修 改文本框的文本为李四 private void btnChange_Click(object sender,EventArgs e)t
7、his.txtName.Text=李四;窗体的重要事件Load :窗体加载事件MouseClick:鼠标单击事件MouseDoubleClick:鼠标双击事件MouseMove:鼠标移动事件KeyDown:键盘按下事件KeyUp:键盘释放事件窗体有哪些事件?列表框控件2-1属性属性ItemsSelectionMode SelectedIndex SelectedItemSelectedItems Text 方法方法ClearSelected事件事件SelectedIndexChanged 列表框控件2-2private void frmUserAdd_Load(object sender,Sy
8、stem.EventArgs e)this.lstCurrDeptName.Items.Add(软件部);this.lstCurrDeptName.Items.Add(硬件部);this.lstCurrDeptName.Items.Add(财务部);this.lstCurrDeptName.Items.Add(人事部);private void cmdOK_Click(object sender,System.EventArgs e)/注意SelectedIndex的值,第一个应该为0if(this.lstCurrDeptName.SelectedIndex=0)MessageBox.Show
9、(this.lstCurrDeptName.Text+已经选择上.,当前选择的值);控件命名规范常用窗体基本控件及命名规范Label:标签 lblTextBox:文本框 txtListBox:列表框 lstButton:按钮btn消息框3-1MessageBox.Show(“消息文本);消息框用于显示消息Abort,Cancel,Ignore,No,None,Ok,Retry 和 Yes if(MessageBox.Show(“保存文件”,“保存,MessageBoxButtons.YesNo,MessageBoxIcon.Information,MessageBoxDefaultButton
10、.Button1)=DialogResult.Yes)/保存文件所用的代码/保存后的 MessageBox消息框3-2/最简单的消息框MessageBox.Show(请输入用户姓名);/带标题的消息框MessageBox.Show(请输入用户姓名,输入提示);/带标题、按钮的消息框MessageBox.Show(请输入用户姓名,输入提示,MessageBoxButtons.OKCancel);/带标题、按钮、图标的消息框MessageBox.Show(请输入用户姓名,输入提示,MessageBoxButtons.OKCancel,MessageBoxIcon.Information);Mess
11、ageBoxButtons提供按钮的类型OKCancel 表示“确定”、“取消”按钮MessageBoxIcon提供图标类型Information 表示消息图标消息框3-3重载方法重载方法Show(string text);Show(string text,string caption);Show(string text,string caption,MessageBoxButtons buttons);Show(string text,string caption,MessageBoxButtons buttons,MessageBoxIcon icon);显示另外一个窗体步骤:1、定义窗体
12、对象2、显示窗体定义窗体对象:被调用的窗体类名 窗体对象=new 被调用的窗体类名();显示窗体:窗体对象.Show();窗体对象.ShowDialog();窗体间的数据传递 示例演示窗体间传递数据总结 WinForms可用于Windows窗体应用程序开发 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 文本框用于接收用户的输入 列表框控件是列出所有选项的清单控件 窗体提供了收集、显示和传送信息的界面,是类的对象,有二种方式显示窗体 消息框用于显示消息,与用户交互第二章第二章WinForm窗体控件(一)窗体控件(一)回顾 WinForms可用于Window
13、s窗体应用程序开发 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 文本框用于接收用户的输入 列表框控件是列出所有选项的清单控件 窗体提供了收集、显示和传送信息的界面,是类的对象,有二种方式显示窗体 消息框用于显示消息,与用户交互复习检查用户单击消息框按钮时返回()值A.DialogValue B.DialogResult枚举值C.DialogCommand D.DialogBox下列()属性决定列表框(ListBox)显示的值A.Items B.Text C.Value D.SelectedItem本章目标 掌握菜单栏的使用 掌握上下文菜单、托盘菜单 掌
14、握工具栏、状态栏控件的使用窗体基本控件菜单Windows中的菜单创建菜单栏和菜单项 创建菜单的步骤:1、切换设计器 2、工具箱所有 Windows 窗体 3、向窗体添加 MenuStrip 控件 4、设置菜单的属性和事菜单项常用的属性和事件属性属性说明说明Text菜单项要显示的文本菜单项要显示的文本Name设置该菜单项的对象名设置该菜单项的对象名ShortcutKeys设置菜单项激活的快捷键设置菜单项激活的快捷键Image设置显示在菜单项上的图片设置显示在菜单项上的图片Enabled菜单项是否响应外部事件菜单项是否响应外部事件Visible菜单项是否可见,可以把菜单项隐藏起来菜单项是否可见,可
15、以把菜单项隐藏起来ShowShortcutKeys是否显示菜单项的快捷键是否显示菜单项的快捷键事件事件说明说明Click当菜单项被点击时执行的事件当菜单项被点击时执行的事件快捷菜单控件 ContextMenuStrip:快捷菜单控件 为控件指定快捷菜单:ContextMenuStrip 属性显示与控件关联的菜单 ContextMenuStrip属性和方法 ContextMenuStrip 控件的主要属性和方法属性属性说明说明DisplayStyle指定是否显示图像和文本指定是否显示图像和文本Image显示在菜单项上的图像显示在菜单项上的图像Text显示在菜单项上的文本显示在菜单项上的文本方法方
16、法说明说明Click单击事件,单击菜单项时发生单击事件,单击菜单项时发生托盘菜单2-1 Windows 窗体 NotifyIcon 组件可以在任务栏的状态通知区域中为在后台运行且没有用户界面的进程显示图标 NotifyIcon 组件的关键属性是 Icon 和 Visible。Icon 属性设置出现在状态区域的图标。为使图标出现,Visible 属性必须设置为 true托盘菜单2-2属性属性说明说明Icon设置出现在状态区域的图标设置出现在状态区域的图标BalloonTipText设置气球提示的文本设置气球提示的文本BalloonTipIcon设置气球提示的图标设置气球提示的图标BalloonT
17、ipTitle设置气球提示的标题设置气球提示的标题方法方法说明说明ShowBalloonTip在任务栏中显示气球提示。在任务栏中显示气球提示。事件事件说明说明BalloonTipClicked在单击气球提示时发生在单击气球提示时发生BalloonTipClosed在用户关闭气球提示时发生。在用户关闭气球提示时发生。Click当用户单击通知区域中的图标时发生。当用户单击通知区域中的图标时发生。DoubleClick当用户双击任务栏的通知区域中的图标时发生。当用户双击任务栏的通知区域中的图标时发生。MouseClick当用户使用鼠标单击当用户使用鼠标单击 NotifyIcon 时发生。时发生。Mo
18、useDoubleClick当用户使用鼠标双击当用户使用鼠标双击 NotifyIcon 时发生。时发生。工具栏控件工具栏的常用属性和事件属性属性说明说明Items表示在工具栏上显示的项的集合。表示在工具栏上显示的项的集合。LayoutStyle指定工具栏的布局方式。指定工具栏的布局方式。CanOverflow指定工具栏上的项是否可以发送到溢出菜单。指定工具栏上的项是否可以发送到溢出菜单。事件事件说明说明ItemClicked单击项时触发单击项时触发创建工具项 点击“添加ToolStripButton”右边的小三角箭头,弹出如下图所示的菜单工具项常用属性和事件属性属性说明说明Image工具项上显
19、示的图标工具项上显示的图标DisplayStyle指定工具项是否显示图像和文本指定工具项是否显示图像和文本ImageAlign指定工具项上的图像的对齐方式指定工具项上的图像的对齐方式TextAlign指定工具项上的文本的对齐方式指定工具项上的文本的对齐方式事件事件说明说明Click当单击工具项时触发当单击工具项时触发状态条状态栏项的常用属性和事件属性属性说明说明DisplayStyle设置图像和文本的显示方式设置图像和文本的显示方式Image按钮按钮/标签上显示的图片标签上显示的图片Text按钮按钮/标签上显示的文本标签上显示的文本事件事件说明说明Click单击按钮单击按钮/标签时,触发该事件
20、标签时,触发该事件总结 各种不同的菜单的使用,包括右键菜单和托盘菜单 工具栏、状态栏的创建及其项的添加 使用图像列表控件存取图像第三章WINFORM窗体控件(三)回顾 桌面应用程序中的单选按钮的使用 可以使用分组框对控件进行分组 用PictureBox可显示图片 使用图像列表控件存取图像 Timer控件是用于计时的计时器控件,可以重复执行Tick事件 滚动条可滚动取值,用进度条可记录某一过程的进度情况 用选项卡控件可对窗体上的控件进行分类回顾 各种不同的菜单的使用,包括右键菜单和托盘菜单 工具栏、状态栏的创建及其项的添加 使用图像列表控件存取图像本章目标 掌握ImageList、Timer、P
21、ictureBox 熟悉RadioButton、CheckBox、GroupBox控件的使用 掌握ComboBox控件的使用方法 熟悉ProgressBar容器控件 熟悉TabControl控件单选按钮和分组框控件2-1 Windows 窗体单选按钮控件以组的形式使用 单选按钮允许用户从多个选项中选择一个选项属性说明Checked确定是否已选定控件方法说明Focus将输入焦点移至控件单选按钮和分组框控件2-2复选框控件2-1 复选框(CheckBox)和单选按钮一样,也支持勾选和不勾选两种状态,在文字前面用一个勾选的框来表示。所不同的是,复选框可以允许用户选取多个选项 复选框的常用属性、方法和
22、事件和单选按钮非常相似,不再重复列出。编编码标准:码标准:在复选框控件名前面加chk复选框控件2-2private void btnSubmit_Click(object sender,EventArgs e)/定义保存用户选择结果的字符串 string strHobby=;/对分组框容器中的所有控件进行遍历 foreach(CheckBox chkObject in grpHobby.Controls)/判断该控件是否被选中,如果选中,记录下选中的结果 if(chkObject.Checked)strHobby+=chkObject.Text+;/用消息框显示所选择的结果 MessageBo
23、x.Show(strHobby,你选择的爱好);PictureBox、ImageList和Timer典型的典型的图片框图片框图片框控件常用属性和事件 在图片框控件名前面加pic属性属性说明说明Image获取或设置获取或设置 PictureBox 显示的图片。显示的图片。SizeMode设置如何显示图像。可以指定几种不同的设置如何显示图像。可以指定几种不同的模式如模式如AutoSize、CenterImage、Normal和和StretchImage。默认为。默认为Normal。方法方法说明说明Show用于向用户显示控件。用于向用户显示控件。定时器控件 定时器控件(Timer)可以使程序每隔一定
24、的时间来执行相同的任务。定时器控件按照指定的时间间隔来触发事件,用户可以使用这个事件来执行周期性的操作属性属性说明说明Interval事件发生的频率,以毫秒为单位事件发生的频率,以毫秒为单位 Enabled是否定时引发事件是否定时引发事件事件事件说明说明Tick定时发生的事件定时发生的事件 图像列表控件ImageList 图像列表(ImageList)控件用于存储其它控件(如PictureBox控件等)需要的图像 用户可以在图像列表中保存的图像可以是图片(*.bmp、*.gif、*.jpg等)和图标(*.ico)图像列表控件中的图像保存在它的Images属性中,该属性是一个集合综合示例1pub
25、lic partial class frmMain:Form public frmMain()InitializeComponent();this.tmrChange.Start();int i=0;private void tmrChange_Tick(object sender,EventArgs e)this.picShow.Image=this.imgList.Imagesi;i+;if(i=this.imgList.Images.Count)i=0;组合框2-1属性属性说明说明DropDownStyle获取或设置组合框控件的样式,为一获取或设置组合框控件的样式,为一个枚举值。个枚举值
26、。Items获取获取 ComboBox 里的所有项。里的所有项。SelectedIndex获取获取ComboBox 中当前选中项的从中当前选中项的从零开始的索引。零开始的索引。SelectedItem获取获取 ComboBox 中的当前选中的项。中的当前选中的项。Text获取获取 ComboBox 中当前选中项的文中当前选中项的文本。本。方法方法说明说明SelectAll选择选择 ComboBox 可编辑部分中的所可编辑部分中的所有文本。有文本。事件事件说明说明SelectedIndexChanged在在 SelectedIndex 属性更改后发生。属性更改后发生。组合框2-2private
27、void frmUserAdd_Load(object sender,System.EventArgs e)this.cboDesig.Items.Add(总裁);this.cboDesig.Items.Add(副总裁);this.cboDesig.Items.Add(首席执行官);this.cboDesig.Items.Add(经理);/默认的选择是产品部this.cboDesig.SelectedIndex=1;private void cboDesig_SelectedIndexChanged(object sender,System.EventArgs e)MessageBox.Sho
28、w(选择的是第“+(this.cboDesig.SelectedIndex+1).ToString(),选择的信息);MessageBox.Show(选择的职务是“+this.cboDesig.Text,选择的信息);选项卡控件2-1典型的典型的选项卡选项卡选项卡控件2-2 选项卡控件(TabControl)的属性及事件属性属性说明说明MultiLine是否可以显示多行选项卡是否可以显示多行选项卡TabPages包含的选项卡页的集合包含的选项卡页的集合SelectedIndex当前所选选项卡页的索引值当前所选选项卡页的索引值事件 说明SelectedIndexChanged更改 Selecte
29、dIndex 属性值时,将触发该事件滚动条控件2-1用于上下或者左右滚动整个窗口或者文档在 Microsoft Word 或 Excel 中,为浏览多页面的文档提供了滚动条滚动条垂直滚动条水平滚动条带有滚动条的 MS Word 文档窗口滚动条控件2-2属性说明Maximum 用于表示滚动范围的上限值。默认值为 100Minimum 用于表示滚动范围的下限值。默认值为 0Value 该属性表示滚动条控件中代表滚动框的当前位置的数字。默认值为 0事件说明Scroll 移动滚动条上的滚动框时,将触发该事件ValueChanged 更改 Value 属性的值时,将触发该事件。Value 属性的值可由滚
30、动事件更改,也可以通过程序来更改滚动条的属性和事件如下:总结 桌面应用程序中的单选按钮的使用 可以使用分组框对控件进行分组 用PictureBox可显示图片 使用图像列表控件存取图像 Timer控件是用于计时的计时器控件,可以重复执行Tick事件 滚动条可滚动取值,用进度条可记录某一过程的进度情况 用选项卡控件可对窗体上的控件进行分类第第4章章多文档窗体及控件布局多文档窗体及控件布局回顾 桌面应用程序中的单选按钮的使用 可以使用分组框对控件进行分组 用PictureBox可显示图片 Timer控件是用于计时的计时器控件,可以重复执行Tick事件 滚动条可滚动取值,用进度条可记录某一过程的进度情
31、况 用选项卡控件可对窗体上的控件进行分类本章目标 了解SDI、MDI窗体 掌握TreeView控件为什么使用MDI多文档窗体开始录入文字在在同一同一记事本应用程序中,记事本应用程序中,不允许不允许创建创建第二个第二个文本文件文本文件新建一个记事本来打开第二新建一个记事本来打开第二个文本文件个文本文件在在单文档单文档应用程序中应用程序中一次一次只能打开只能打开一个一个文件文件什么是MDI多文档窗体在在 MDI 应用程序中可以应用程序中可以同时同时打开打开多个多个文件文件 父窗口父窗口子窗口子窗口如何创建MDI多文档窗体创建 MDI 的步骤:1、设置父窗体的 IsMDIContainer 属性 2
32、、设置子窗体的 MdiParent 属性ChildForm childForm=new ChildForm();childForm.MdiParent=this;childForm.Show();创建子窗体的对象创建子窗体的对象设置子窗体的父窗体设置子窗体的父窗体显示子窗体显示子窗体建立建立子窗体窗口列表子窗体窗口列表步骤:步骤:1、在父窗体中添加菜单条、在父窗体中添加菜单条 2、添加、添加“窗口窗口”菜单菜单 3、设置菜单控件的、设置菜单控件的 MdiWindowListItem 属性属性 MDI主窗体的属性、方法和事件属性属性说明说明MdiChildren获取当前主窗体下所有的子窗体对象。
33、获取当前主窗体下所有的子窗体对象。MdiParent获取或设置获取或设置MDI子窗体的父窗体。子窗体的父窗体。ActiveMdiChild获取当前活动(正在操作)的获取当前活动(正在操作)的MDI子窗体。子窗体。方法方法说明说明ActivateMdiChild激活某一子窗体。激活某一子窗体。LayoutMdi在在MDI父窗体中排列多个父窗体中排列多个MDI子窗体。子窗体。事件事件说明说明Close关闭窗体时触发的事件。关闭窗体时触发的事件。Colsing正在关闭窗体时触发的事件。正在关闭窗体时触发的事件。MdiChildActivate激活或关才激活或关才MDI子窗体时,将会触发的事件。子窗体
34、时,将会触发的事件。在窗体类中包含一个LayoutMDI方法,这个方法可以设置主窗体里的子窗体以不同的方式显示,参数为MdiLayout的枚举类型的值属性属性说明说明ArrangeIcons在在MDI主窗体中显示各个子窗体的图标。主窗体中显示各个子窗体的图标。Cascade在在MDI主窗体中层叠显示各个子窗体。主窗体中层叠显示各个子窗体。TileHorizontal在在MDI主窗体中从上到下平铺显示各个子窗体,水平等分主主窗体中从上到下平铺显示各个子窗体,水平等分主窗体窗体TileVertical在在MDI主窗体中从左到右平铺显示各个子窗体,垂直等分主主窗体中从左到右平铺显示各个子窗体,垂直等
35、分主窗体窗体操作MDI子窗体 通过TreeView控件可以表示一个树形结构TreeView控件TreeView控件用于以节点形式显示文本或数据,这些节点按层次结构顺序排列Windows 资源管理器中左窗格所包含的目录和文件是以树型视图样式排列的在 TreeView 控件中,复选框和图标可以和文本一起显示节点集和节点对象TreeView 控件的 Nodes 属性表示为 TreeView 控件指定的树节点集 树节点集中的每个树节点对象可包括它本身的树节点集树节点集中 Add()、Remove()和 RemoveAt()方法使开发人员可添加和移动集中的单个树节点 TreeView 控件的事件Afte
36、rCheckAfterCollapseAfterExpandAfterSelectBeforeCheckBeforeCollapseBeforeExpandBeforeSelectTreeView 控件名的前缀是 tvw如:tvwTree,tvwList添加、修改和删除节点可通过编程方式向 TreeView 添加节点TreeNode chNode=new TreeNode(Text for new node);tvwTree1.currNode.Nodes.Add(chNode);可通过编程方式从 TreeView 删除节点.tvwTree1.Nodes.Remove(tvwTree1.cur
37、rNode);/清除所有节点tvwTree1.Nodes.Clear();如果没有选定要删除的节点,则会删除根节点总结 掌握多文档窗体的创建及使用 使用树视图显示有层次结构的数据第五章第五章ADO.NET 数据库操作数据库操作回顾 多文档窗体的创建及使用 MDI窗体布局掌握 TreeView控件 Splitter控件和splitContainer控件本章目标 ADO.NET简介 使用Connection对象连接数据库 使用Command对象操作数据库 ADO.NET 中的事务处理ADO.NET 简介 4-1将数据保存到文件中ADO.NET 简介 4-2使用数据库存储数据使用数据库存储数据SQL
38、-ServerACCESSORACLE数据库访问的方法和技术数据库访问的方法和技术ADO.NET 简介 4-3中央数据库中央数据库用户需要时,可以随时访问数据用户计算机向数据库服务器发送请求客户端不同的访问方法和技术ADO.NET 简介 4-4.NET FrameworkSystem.Data 命名空间以 ActiveX 数据对象(ADO)为基础以 XML(扩展标记语言)为格式传送和接收数据ADO.NET 的主要组件ADO.NETDataSet(数据集)(数据集).NET Framework 数据提供程序数据提供程序 只进、只读访问数据只进、只读访问数据独立于数据源的数据访问独立于数据源的数据
39、访问ADO.NET 访问数据库结构本章内容本章内容.NET 数据提供程序.NET Framework 数据提供程序数据提供程序说明说明SQL Server.NET 数据提供程序数据提供程序Microsoft SQL Server 数据源数据源System.Data.SqlClient 命名空间命名空间OLE DB.NET 数据提供程序数据提供程序OLE DB 公开的数据源公开的数据源System.Data.OleDb 命名空间命名空间ODBC.NET 数据提供程序数据提供程序ODBC 公开的数据源公开的数据源System.Data.Odbc 命名空间命名空间Oracle.NET 数据提供程序数
40、据提供程序Oracle 数据源数据源System.Data.OracleClient 命名空间命名空间为什么是 Connection?应用程序应用程序请求数据请求数据Connection桥梁桥梁连接SQL Server的Connection 对象 不同命名空间的不同命名空间的 Connection 对象对象命名空间命名空间对应的对应的 Connection 对象对象System.Data.SqlClient SqlConnectionSystem.Data.OleDbOleDbConnectionSystem.Data.Odbc OdbcConnectionSystem.Data.Oracle
41、ClientOracleConnectionConnection对象主要属性和方法必须显式关闭连接必须显式关闭连接属性属性说明说明ConnectionString 连接字符串连接字符串方法方法说明说明Open打开数据库连接打开数据库连接Close关闭数据库连接关闭数据库连接连接数据库步骤连接数据库的步骤:1、定义连接字符串2、创建、创建 Connection 对象对象3、打开与数据库的连接、打开与数据库的连接server=(local);integrated security=True;database=masterSqlConnection connection=new SqlConnect
42、ion(connString);连接字符串连接字符串connection.Open();没有密码,可省略没有密码,可省略Data Source=服务器名服务器名;Initial Catalog=数据库名数据库名;User ID=用户名用户名;Pwd=密码密码连接数据库演示连接到本机的 MySchool 数据库使用Command对象应用程序应用程序打开数据库打开数据库处理数据处理数据Connection怎样处理数据怎样处理数据执行命令并从数据源中返回结果执行命令并从数据源中返回结果 Command 的主要成员属性属性说明说明Connection Command对象使用的数据库连接对象使用的数据库
43、连接CommandText执行的执行的SQL语句语句方法方法说明说明 ExecuteNonQuery执行不返回行的语句,如执行不返回行的语句,如UPDATE等等ExecuteReader返回返回DataReader对象对象ExecuteScalar返回单个值,如执行返回单个值,如执行COUNT(*)使用 Command 步骤使用Command步骤:1、创建数据库连接2、定义 SQL 语句3、创建 Command 对象4、执行命令SqlConnection connection=new SqlConnection(connString);string sql=SELECT COUNT(*)FRO
44、M StudentInfo;connection.Open();/打开数据库连接打开数据库连接SqlCommand command=new SqlCommand(sql,connection);int num=(int)command.ExecuteScalar();示例示例 3 关键代码:关键代码:执行命令前,必须打开数据库连接!执行命令前,必须打开数据库连接!要进行类型转换!要进行类型转换!操作数据库应用程序徐礼应,美国硅谷,优秀 徐礼应姓名:学校:美国硅谷成绩:优秀如何对数据库的数据进行增删改?使用 ExecuteNonQuery()方法ExecuteNonQuery()方法步骤该方法执
45、行指定的 sql 语句返回受影响的行数使用 ExecuteNonQuery()的步骤小结:1、创建 Connection 对象2、定义sql 语句3、创建 Command 对象4、执行 ExecuteNonQuery()方法5、根据返回的结果进行处理总结.NET framework 中的 ADO.NET 是一组类,允许应用程序与数据库交互,以便检索和更新信息 DataSet 和.NET 数据提供程序是 ADO.NET 的两个主要组件 每种.NET 数据提供程序都是由以下四个对象组成:Connection,Command,DataAdapter以及DataReader Connection 对象
46、用于在应用程序和数据库之间建立连接 Command 对象允许向数据库传递请求、检索和操纵数据库中的数据第6章ADO.NETDataSet和适配器回顾.NET framework 中的 ADO.NET 是一组类,允许应用程序与数据库交互,以便检索和更新信息 每种.NET 数据提供程序都是由以下四个对象组成:Connection,Command,DataAdapter以及DataReader Connection 对象用于在应用程序和数据库之间建立连接 Command 对象允许向数据库传递请求、检索和操纵数据库中的数据本章目标 掌握记录集(DataSet)对象的结构 定义DataTable对象 定
47、义DataRow和DataColumn对象 数据适配器(DataAdapter)对象 用DataGridView控件查看数据使用 DataReader快速访问数据 怎样快速读取数据库的数据?对于要求快速访问数据显示在界面上的应用程序,数据读取器DataReader是一个较好的选择应用程序 徐礼应,美国硅谷,优秀 徐礼应姓名:学校:美国硅谷成绩:优秀使用 DataReader 对象认识DataReader 对象每次读取一行数据命名空间命名空间对应的对应的 DataReader 对象对象System.Data.SqlClient SqlDataReaderSystem.Data.OleDbOleD
48、bDataReaderSystem.Data.Odbc OdbcDataReaderSystem.Data.OracleClientOracleDataReaderDataReader 的主要属性和方法属性属性说明说明FieldCount返回当前行中的列数返回当前行中的列数方法方法说明说明 Read前进到下一行记录前进到下一行记录Close关闭关闭 DataReader 对象对象DataReader 使用步骤使用 DataReader 检索数据的步骤:1、创建 Command 对象2、调用 ExecuteReader()创建 DataReader 对象3、使用 DataReader 的 Rea
49、d()方法逐行读取数据4、读取某列的数据,(type)dataReader 5、关闭 DataReader 对象获取某列的值:方法一:指定列的索引,从0开始方法二:指定列名注意:DataReader 使用后必须关闭使用 DataReader 示例2-1private void btnDis_Click(object sender,EventArgs e)string strsql=select*from StuInfo;/初始化命令对象 sqlCmd=new SqlCommand();sqlCmd.CommandText=strsql;sqlCmd.CommandType=CommandTyp
50、e.Text;sqlCmd.Connection=sqlCon;/执行操作 try /打开连接 sqlCon.Open();/执行操作 返回 sqlRead=sqlCmd.ExecuteReader();下一页使用 DataReader 示例2-2/遍历所有信息 添加到列表控件中 while(sqlRead.Read()string strInfo=;for(int i=0;i sqlRead.FieldCount;i+)strInfo+=t+sqlRead.GetValue(i)+t;lstInfo.Items.Add(strInfo);catch(Exception ex)MessageB