vb基本入门学习资料_第1页
vb基本入门学习资料_第2页
vb基本入门学习资料_第3页
vb基本入门学习资料_第4页
vb基本入门学习资料_第5页
免费预览已结束,剩余142页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基础教程基础教程 第一部分第一部分 VisualVisual BB 基础基础 1 vb net 介绍 的优点 3 新建一个 项目 4 编写第一个 应用程序 第二部分第二部分 的语法部分的语法部分 的 Numeric 数据类型 的 Byte 数据类型 的 String 数据类型 的 Boolean 数据类型 的 Date 数据类型 的 Object 数据类型 7 的用户自定义类型 的数组定义 的数组列表 的多维数组 类型转换函数 第三部分第三部分 visualvisual 的运算的运算 程序设计时经常用到的有 6 种运算 算术运算 Arithmetic 赋值运算 Assignment 二进制运算 Bitwise 比较运算 Comparison 连接运 算 concatenation 及逻辑运算 Logical 下面对这 6 种运算进行简单介 绍 的算术运算 的赋值运算符 的二进制运算符 的比较运算符 的连接运算符和逻辑运算符 运算符的优先级 一 一 VisualVisual 的常量和变量的常量和变量 的常量 的变量 二 二 VisualVisual 的流程和控制结构的流程和控制结构 条件分支语句 的循环语句 三 三 的过程和函数的过程和函数 的 Sub 过程 的 Funtion 过程 3 在 中调用过程 4 如何向过程传递参数 四 四 的类和对象基础 第四部分第四部分 visualvisual 的常用控件的常用控件 的 Label 控件 的 Button 控件 的 Textbox 控件 的 MainMenu 控件 的 Checkbox 控件 的 Radiobutton 控件 的 GroupBox 控件 的 PictureBox 控件 的 ListBox 控件 的 CheckedListBox 控件 的 Combobox 控件 的 ListView 控件 的 TreeView 控件 的 ImageList 控件 的 Timer 控件 的 HScrollBar 和 VScrollBar 控件 的 ProgressBar 控件 的 ToolBar 控件 的 StatusBar 控件 20 Vs 2005 的 ToolStrip 控件 21 Vs 2005 的 StatusStrip 控件 22 Vs 2005 的 MenuStrip 控件 第六部分第六部分 的的 OOPOOP 结构结构 1 什么是 oop 的面向对象性 的共享成员 Share Members 4 类模块和标准代码模块的区别和比较 5 对象浏览器 一 一 建立和使用对象建立和使用对象 对象的建立和销毁 对象的生命周期 2 设置和重设 的属性 3 用方法来表现动作 对象变量的声明 5 对一个对象进行多种操作 6 使用 New 关键字 7 如何释放对对象的引用 8 如何把对象传递到一个过程 二 二 在程序运行中得到一个类的信息在程序运行中得到一个类的信息 用一个字符名称调用一个属性或者方法 三 三 中的类 继承与多态性中的类 继承与多态性 中给一个类添加方法 2 命名属性 方法和事件 的事件和事件处理 4 类的继承 Inheritance 继承的规则 6 用继承建立一个继承类 7 重载 Windows 控件 8 什么时候使用继承 9 什么是命名空间 Namespace 继承的例子 中用继承实现多态性 中用接口实现多态性 第七部分第七部分 数据库访问技术数据库访问技术 关于 SQL 语言的知识 请参考 sql 语言教程及 Sql 语言基础 1 数据库基础知识 数据集 Datasets 的概念 3 什么是 dao 4 Dao 与 Jet 数据库引擎 5 Dao 对象模型 6 远程数据对象 RDO 7 Rdo 对象模型 8 odbc api 是什么 9 ODBC 的结构 10 使用 ODBC API 访问数据库 11 ado 数据对象 12 ado 对象模型 13 ADO NET 简介 14 使用 ADO NET 的基本方法 第八部分第八部分 的多线程的多线程 1 自由线程 Free Threading 2 关于线程的参数和返回值的问题 的并发性问题 第九部分第九部分 的文件和出错处理的文件和出错处理 的出错处理 的多种出错处理 Multiple Exceptions 的文件对象 file object 文件处理的出错处理 5 检测文件的结束 Testing for End of File 6 文件的静态方法 Static File Methods vb vb netnet 介绍介绍 是 Visual B 的简称 提到 就不能不先提一下 vb Visual Basic Visual Basic 是 Windows 环境下的一种简单 易学的编程语言 由于其开发程 序的快速 高效 深受程序员的 喜爱 严格地来说 Visual Basic 只是半面向对象的语言 其面向对象的能力 及程序的执行效率往往不能一些程序员的需要 因此 大的项目很少使用 Visual Basic 来开发 Visual Basic 的最后一个版本是 Visual Basic 6 0 在 Visual Basic 6 0 之后 微软公司推出了全新的 NEt 构架 在其第一 个版本 Visual Studio NET 7 0 中 集成了 Visual Basic 7 0 Visual C 7 0 及 C 其中的 Visual Basic 7 0 vb 7 0 即是 的第一个版本 现在 NET 是最新版本是 Visual Studio 2005 对应的 的最新版本是集 成在其中的 Visual Basic 9 0 vb 9 0 也可称为 2005 如何得到 由于 集成在 Visual Studio NET 之中 你只需安装 Visual Studio NET 就可使用集成在其中的相应版本的 建议安装最新版本 Visual Studio 2005 现在的电脑配置 基本都能满足其安装要求 操作系统 可以是 windows xp windows 2000 或以上版本 同时要求有 IE 6 0 或更高 版本以及 Windows Installer 3 1 或更高版本 第一次启动 Visual Studio 2005 时 会出现一个对话框 如图 1 1 图 1 1 选择默认环境设置对话框 由于现在我们要学习的是 所以我们选择对话框左侧的 Visual Basic 开发设置 单击下方的 启动 Visual Studio S 即可启动 Visual Studio 2005 如图 1 2 图 1 2 Visual Studio 2005 的界面 的优点的优点 是基于 NET 框架的完全对向对象的编程语言 而 vb 6 0 只是半面向对 象的语言 使用 可以编制出功能更加强大的 windows 程序 现在 我们 把 和 vb 6 0 做一下比较 看看 对比 vb 6 0 有着什么样的特性 和优点 1 在 vb 6 0 中 创建对象的时候 需要等这个对象创建完毕后 再另外调用一 个独立的方法对其进行初始化 在 中 可以利用构造函数为对象赋初值 这样就不需要进行烦琐的调用赋初值了 构 造函数的使用 简化了编码的过程和出错的机会 编写线程的能力比 vb 6 0 有很大的增强 3 在 vb 6 0 中 需要首先声明一个变量 然后才能对其赋值 这样就需要写两 行代码 在 中 可以 使用初始化函数将这两个步骤合并在一行代码中完成 这个似乎微小的改进 提供了更少 更简单 更易于维护的代码 基于 NET 框架 开发者可以快速的可视化开发网络应用程序 网络服 务 Windows 应用程序和服务器端组件 5 因为 是基于 NET 框架的 可以与其它 NET 语言协同工作 6 在 中 通过 Web 窗体及 ADO NET 开发者可以快速开发可扩展的 Web 站点 如果你能进一步学习 你会发现更多的新特性和优点 新建一个新建一个 项目项目 使用 可以快速建立各种类型的项目 同时由于其集成在 Visual Studio NET 中 所以也可以在 中创建和编辑 ASP NET 项目 1 首先打开 Visual Studio 2005 集成开发环境 单击 开始 程序 Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 打开如图 1 2 所示的集成开发界面 2 单击 文件 新建项目 命令 也可在如图 1 2 所示的集成开发界面中 单击 起始页 窗口中的 创建项目 按钮 弹出 新建项目 对话框 如 图 1 3 在该对话框中 在 项目类型 列表框中选择 Visual Basic 项目 在 模板 列表框中选择相应的程序类型 比如我们选择 Windows 应用程序 在 名称 文本框中输入名称 比如我们输入 project1 并在其下方的 位置 列表框中为其选定一个保存路径 单击 确定 按钮 便在 中 创建了一个名为 project1 的新项目 编写第一个编写第一个 应用程序应用程序 本节我们来创建一个 的 Hello world 程序 该程序由一个文本框 textbox 和一个按钮 Button 组成 单击该按钮 文本框会出现 Hello world 同时 按钮上的文本由 你好 变为 谢谢 步骤如下 一 创建一个新的项目 也可打开上节我们创建的那个名为 project1 的项 目 二 打开或创建项目后 默认的窗体是 form1 我们就使用它来做为应用程序的 用户界面 1 的工具箱默认是折叠在工作区的左侧的 如下图 鼠标指向它时 会展开工具箱 鼠标移开时 它又会自动折叠 为了使用时的方便 可以在用鼠标展开工具箱后 单击工具箱右侧中间的那个 图钉将工具箱固定在工作区的左侧 如下图 2 向窗体添加一个文本框控件和一个按钮控件 方法很简单 在工具箱中找到 Textbox 和 Button 控件后 用鼠标拖动到 form1 窗体上即可 并且还可以用鼠 标拖动改变其在窗体上的位置 添加控件后的窗体如下图 3 设置 form1 的 text 属性 鼠标单击 form1 窗体的空白处 在工作区右侧的窗 性窗口中 在 form1 的 text 属性值中输入 hello world 如下图 4 设置按钮的 text 属性 用鼠标单击选中 form1 窗体上的按钮 在右侧的属性 窗口中将其 text 属性值输入 你好 经过以上两步操作的窗体如下图 可以 看到 form1 窗体的标题栏上的文字变成了 hello world 按钮上的文字 变成了 你好 这是我们分别设置了两个控件的 text 属性的缘故 5 编写程序代码 双击 form1 窗体上的按钮控件 在出现的代码窗口中 默认 的事件过程是 Click 事件 鼠标单击时发生的事件 此例中无需改动 在 sub 和 End Sub 之间输入如下语句 Textbox1 Text hello world Button1 Text 谢谢 如下图 注意 代码中的符号均是英文标点 6 点击工具栏上的 或按 F5 键即可运行该程序 运行窗口中的文本框的值 为空 按钮的标题为 你好 点击 你好 按钮后 触发了按钮的 click 事 件 调用其 click 事件过程代码 将文本框和按钮的 text 值分别变为 hello world 和 谢谢 如下图 新建一个新建一个 项目项目 时间 2007 05 24 本站 雪落无声 使用 可以快速建立各种类型的项目 同时由于其集成在 Visual Studio NET 中 所以也可以在 中创建和编辑 ASP NET 项目 1 首先打开 Visual Studio 2005 集成开发环境 单击 开始 程序 Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 打开如图 1 2 所示的集成开发界面 2 单击 文件 新建项目 命令 也可在如图 1 2 所示的集成开发界面中 单击 起始页 窗口中的 创建项目 按钮 弹出 新建项目 对话框 如 图 1 3 在该对话框中 在 项目类型 列表框中选择 Visual Basic 项目 在 模板 列表框中选择相应的程序类型 比如我们选择 Windows 应用程序 在 名称 文本框中输入名称 比如我们输入 project1 并在其下方的 位置 列表框中为其选定一个保存路径 单击 确定 按钮 便在 中 创建了一个名为 project1 的新项目 图 1 2 Visual Studio 2005 的界面 图 1 3 的 新建项目 对话框 的优点的优点 是基于 NET 框架的完全对向对象的编程语言 而 vb 6 0 只是半面向对 象的语言 使用 可以编制出功能更加强大的 windows 程序 现在 我们 把 和 vb 6 0 做一下比较 看看 对比 vb 6 0 有着什么样的特性 和优点 1 在 vb 6 0 中 创建对象的时候 需要等这个对象创建完毕后 再另外调用一 个独立的方法对其进行初始化 在 中 可以利用构造函数为对象赋初值 这样就不需要进行烦琐的调用赋初值了 构 造函数的使用 简化了编码的过程和出错的机会 编写线程的能力比 vb 6 0 有很大的增强 3 在 vb 6 0 中 需要首先声明一个变量 然后才能对其赋值 这样就需要写两 行代码 在 中 可以 使用初始化函数将这两个步骤合并在一行代码中完成 这个似乎微小的改进 提供了更少 更简单 更易于维护的代码 基于 NET 框架 开发者可以快速的可视化开发网络应用程序 网络服 务 Windows 应用程序和服务器端组件 5 因为 是基于 NET 框架的 可以与其它 NET 语言协同工作 6 在 中 通过 Web 窗体及 ADO NET 开发者可以快速开发可扩展的 Web 站点 如果你能进一步学习 你会发现更多的新特性和优点 图 1 2 Visual Studio 2005 的界面 vb vb netnet 介绍介绍 是 Visual B 的简称 提到 就不能不先提一下 vb Visual Basic Visual Basic 是 Windows 环境下的一种简单 易学的编程语言 由于其开发程 序的快速 高效 深受程序员的 喜爱 严格地来说 Visual Basic 只是半面向对象的语言 其面向对象的能力 及程序的执行效率往往不能一些程序员的需要 因此 大的项目很少使用 Visual Basic 来开发 Visual Basic 的最后一个版本是 Visual Basic 6 0 在 Visual Basic 6 0 之后 微软公司推出了全新的 NEt 构架 在其第一 个版本 Visual Studio NET 7 0 中 集成了 Visual Basic 7 0 Visual C 7 0 及 C 其中的 Visual Basic 7 0 vb 7 0 即是 的第一个版本 现在 NET 是最新版本是 Visual Studio 2005 对应的 的最新版本是集 成在其中的 Visual Basic 9 0 vb 9 0 也可称为 2005 如何得到 由于 集成在 Visual Studio NET 之中 你只需安装 Visual Studio NET 就可使用集成在其中的相应版本的 建议安装最新版本 Visual Studio 2005 现在的电脑配置 基本都能满足其安装要求 操作系统 可以是 windows xp windows 2000 或以上版本 同时要求有 IE 6 0 或更高 版本以及 Windows Installer 3 1 或更高版本 第一次启动 Visual Studio 2005 时 会出现一个对话框 如图 1 1 图 1 1 选择默认环境设置对话框 由于现在我们要学习的是 所以我们选择对话框左侧的 Visual Basic 开发设置 单击下方的 启动 Visual Studio S 即可启动 Visual Studio 2005 如图 1 2 图 1 2 Visual Studio 2005 的界面 图 1 3 的 新建项目 对话框 第二部分 的语法部 的的 NumericNumeric 数据数据 类型类型 支持多种 Numeric 即数值型 数据类型 包括 Integer 整型 Long 长整型 Single 单精度浮点型 Double 双精度浮点型 Decimal 十 进制型 Short 短整型 如果一个变量总是存放整数 如 365 而不是带小数点的数字 如 3 14159 则可 将其声明为 Integer 整型 Long 长整型 或 Short 短整型 与其它的数据类 型相比 整数的运算速度快 且占内存少 常在 For Next 循环内作为计数器 变量使用 Decimal 十进制型 是 Visual Studio NET 框架内的通用数据类型 可以表示 28 位十进制数 且小数点的位置可根据数的范围及精度要求而定 Single 单精度浮点型 和 Double 双精度浮点型 比 Decimal 十进制型 数据类 型的有效范围大得多 但有可能产生小的进位误差 详细内容见下表 类型 占 用 空 描述 间 Integer 4 字 节 变量存储为 32 位整数型 范围从 2147483 648 至 2147483 648 Long 8 字 节 变量存储为 64 位整数型 范围从 9223372036854775 808 至 9223372036854775 807 Short 2 字 节 变量存储为 16 位整数型 范围从 32768 至 32767 Single 4 字 节 变量存储为 32 位浮点数值型 范围 负数 为 3 402823E38 到 1 401298E 45 正数为 1 401298E 45 到 3 402823E38 Double 8 字 节 变量存储为 64 位浮点数值型 范围 负数 为 1 79769313486231E308 到 4 94065645841247E 324 正数为 4 94065645841247E 324 到 1 79769313486231E308 Decimal 12 字 节 无小数点的整数范围是 79228162514264337593543950335 到 79228162514264337593543950335 的的 ByteByte 数据类型数据类型 如果变量包含二进制数 则可将其声明为 Byte 类型的数组 在转换格式期间用 Byte 变量存储二进制数据就可保留数据 当 String 类型变量在 ANSI 和 Unicole 格式之间进行转换时 变量中的任何二 进制数据都会受到破坏 在下列任何一种情况下 都会自动在 ANSI 和 Unicole 格式之间进行转 换 1 读文件时 2 写文件时 3 调用 DLL 时 4 调用对象的方法和属性时 除一元减法之外 所有可对整数进行操作的运算符均可操作 Byte 数据类型 因 为 Byte 类型在 中的存储位数是 8 位 表示的是从 0 255 的无符号整数 类型 不能表示负数 因此 在进行一元减法运算时 首先将 Byte 转换为符号整数 Byte 数据类型可以转换成 Integer 类型 Long 类型 Short 类型 Single 类型 Double 类型 Decimal 类型 且不会出现溢出的错误 的的 StringString 数据类型数据类型 如果一个变量总是存储诸如 我是中国人 之类的字符串而不包含 3 1415926 这样的数值 则可将其声明为 String 类型 在 中 一个字符串可包含大约 2 亿 2 的 31 次方 个 Unicode 字符 字 符的机内码从 0 到 65535 前 128 个字符代表英文字母及标准键盘上的字符 128 到 255 个字符代表特殊的字符 如拉丁字母 货币符号 分数等 声明字符串变量的格式 Dim S As String 然后可将字符串值赋予这个变量 并用字符串函数对其进行操作 如 S 我是中国人 默认情况下 String 类型变量或其参数是一个可变长度的字符串 随着对字符 串赋予新数据 它的长度可增可减 可以对 String 类型进行操作的基本函数 1 Len 函数 此函数返回字符串的长度 返回值为长整型 Long 其语法为 Len string varname 说明 string 为任何有效的字符串表达式 varname 为任何有效和变量名称 如果 varname 是 Object Len 函数视其为 String 并且总是返回其包含的字符数 如 Dim A as String Dim B as Integer A 我是中国人 初始化字符串 B Len A 返回 10 一个汉字占 2 字节 2 Trim Ltrim 及 Rtrim 函数 Trim Ltrim 及 Rtrim 函数完成将字符串中的一部分或全部空格去掉 Trim 去 掉字符串中的全部空格 Ltrim 去掉字符串中起始的空格 而 Rtrim 将字符串 末尾的空格都去掉 例如 Dim A B As String A hello 初始化字符串 B Trim A B hello B Ltrim B B hello B Rtrim B B hello 3 Substring 方法 Substring 方法取代以前 vb 6 0 中的 Right Left 及 Mid 等标准函数 用 法是 StrName Substring startChar Length 例如 S Substring 0 2 相当于 Left S 2 S Substring S Length 4 相当于 Right S 4 的的 BooleanBoolean 数据类型数据类型 Boolean 型数据 也称布尔型 如果变量的值只是 true false yes no on off 等逻辑值信息 可将其声明为 Boolean 型 Boolean 型数据占 4 个字节 如果其他 Numeric 类型数据转换为 Boolean 型 则 0 转换为 False 其他的 非零数转换为 True Boolean 的默认值为 False 下面例子中 blnRunning 是 Boolean 变量 存储简单的 yes no 逻辑值信息 Dim blnRunning As Boolean 查看磁带是否在转 If Recorder Direction 1 Then blnRunning True End if While blnRunning While End 的的 DateDate 数据类型数据类型 Date 日期 和 Time 时间 可包含在 Date 数据类型中 Date 类型的变量存储在 64 位 8 个字节 的长整型中 代表的时间从公元 1 年 1 月 1 日到公元 9999 年 12 月 31 日 表示的时间从 0 00 00 到 23 59 59 Date 类型的数据要写在两个 之间 如 January 1 1993 或 1 Jan 93 而且日期和时间的表示方式取决于计算机 DateAndTime 类 DateAndTime 类可以返回各种形式的时间信息 常用的属性有 Now Today 等 常用的方法有 Year Month MonthName Weekday WeekdayName 等 如下例 将当前的日期及时间返回给 MyDate Dim MyDate As Date Dim MyWeekdayName As String MyDate DateAndTime Now MyweekdayName DateAndTime WeekdayName 1 简单组合 框值为 1 V 中的常数值为 Simple 下拉式列表框值为 2 中的常 数值为 DropDownList 3 3 下拉式组合框下拉式组合框 在缺省设置 Style 0 下 组合框为下拉式 用户可象在文本框中一样直接输 入文本 也可单击组合框右侧的附带箭头打开选项列表 选定某个选项后 将 此选项插入到组合框顶端的文本部分中 当控件获得焦点时 也可按 Alt 键 打开列表 4 4 简单组合框简单组合框 将组合框的 Style 属性设置为 1 将指定一个简单的组合框 任何时候都在其 内显示列表 为显示列表中所有项 必须将列表框绘制得足够大 当选项数超 过可显示的限度时将自动插入一个垂直滚动条 用户可直接输入文本 也可从 列表中选择 象下拉式组合框一样 简单组合框也允许用户输入那些不在列表 中的选项 5 5 下拉式组合框下拉式组合框 下拉式组合框 Style 2 与正规列表框相似 它显示项目的列表 用户必须从 中选择 但下拉式列表框与列表框不同之处在于 除非单击框右侧的箭头 否 则不显示列表 这种列表框与下拉式组合框的主要差别在于 用户不能在列表框中输入选项 而只能在列表中选择 当窗体上的空间较少时 可使用这种类型的列表框 6 6 添加项目添加项目 为在组合框中添加项目 应使用 Insert 方法 其语法如下 ComboboxName Items Insert index As Integer item As Object comboboxName 为列表框或组合框名称 item 为在列表中添加的字符串表达式 用引号括起来 Index 用来指定新项目在列表中的插入位置 Index 为 0 表示第 一个位置 当在第一个位置时 也可以用语法 combobox Items Add item As Object 通常在设计时或在 New 过程中添加列表项目 但也可在任何时候使用 Insert 方 法 这样就能动态在列表中添加项目 以下代码将 Chardonnay Fum Blanc Gewztraminer 和 Zinfandel 放置到名为 combobox1 Style 属 性为 0 DropDown 的组合框中 Public Sub New Combobox1 Items Insert Chardonnay Combobox1 Items Insert Fum Blanc Combobox1 Items Insert Gewztraminer Combobox1 Items Insert Zinfandel End Sub 7 7 设计时添加项目设计时添加项目 在设计时 也可设置组合框控件 属性 窗口的 Items 属性 从而在列表中添 加项目 选定 Items 属性并单击按钮后就可以输入列表项目 然后按回车键 换到新的一行 只能将项目添加到列表的末尾 所以 如果要将列表按字母顺序排序 则应将 Sorted 属性设置为 True 8 8 指定位置添加项目指定位置添加项目 为了在列表指定位置添加项目 应在新项目后指定索引值 例如 下行代码将 Piont Noir 插入到第一个位置并把其他项目的位置向下调整 Combobox1 Items Insert 0 Pinot Noir 注意 指定列表中的第一个位置的是 0 而不是 1 9 9 排序列表排序列表 将 Sorted 属性设置为 True 并省略索引 则可在列表中指定按字母顺序添加的 项目 排序时不区分大小写 将 sorted 属性设置为 true 后 Items Insert 方 法将导致不可预料的非排序结果 10 10 删除项目删除项目 可在组合框中用 Items Remove 方法来删除项目 Items Remove 有一个参数 index 它指定要删除的项目 combobox1 Items Remove index 及 index 参数和 Items Insert 中的参数相同 例如 为了删除列表中的第一个项目 应添加下 面一行代码 combobox1 Items Remove 0 若要删除所有列表项目 就使用 Clear 方法 combobox1 Clear 11 11 用用 TextText 属性获取列表内容属性获取列表内容 获取当前选项目值的最简单的常用方法就是使用 Text 属性 在运行时无论向控 件的文本框部分输入了什么文本 Text 属性都与这个文本相对应 它可以是选 定的列表选项 或者是用户在文本框中输入的字符串 例如 如果用户选定列 表框中的 chardonnay 则通过下列代码显示有关 chardonnay 的信息 Private Sub Combobox1 click Byval sender As Object Byval e As System EventArgs If Combobox1 Text Chardonnay Then Textbox1 Text Chardonnay is a midium bodied white wine End If End Sub 其中 Text 属性包含 Combobox1 列表框中当前选定的项目 代码查看是否选择了 Chardonnay 若是如此 则在文本框中显示信息 12 12 用用 ItemsItems 属性访问列表选项属性访问列表选项 有了 Items 属性就可访问列表中所有项目 该属性包含一个数组 而且列表中 的每个项目都是数组的元素 每一项都表示为字符串的形式 为了引用列表中 的项目 应使用如下语法 ComboboxName Items index ComboboxName 为组合框名称 而 index 是项目的位置 顶端项目的索引为 0 下一个项目的索引为 1 依次类推 例如 在文本框中 以下语句显示列表中 的第三个项目 index 2 Text1 Text CStr Combobox1 Items 2 13 13 用用 SelectIndexSelectIndex 属性判断位置属性判断位置 想要知道组合框列表中选定项目位置 可以由 SelectIndex 属性得到 该属性 设置或返回控件中当前选定项目的索引值 而且只在运行时有效 对组合框的 SelectIndex 属性进行设置时也会触发控件的 Click 事件 若选定第一个 项 端 项目 则属性值为 0 选定的下一个项目属性值为 1 依次类推 如果未选 定项目 或者用户在组合框中输入选项 样式 0 或 1 而不在列表中选择现有 的项目 则 SelectIndex 为 1 14 Items Count14 Items Count 属性返回项目数属性返回项目数 为了返回组合框中的项目数 应使用 Items Count 属性 例如 下列语句用 Items Count 属性判断组合框中的项目数 TextBox1 Text You have 而类实例中的数据值存在于对象的存活期 它随对象的创建而创建 随 对象的撤销而消失 最后 当变量在标准模块中声明为 Public 时 则它在工程中 任何地方都是可见的 而在类模块中的 Public 变量 只有当对象变量含有对某一 类实例的引用时才能访问 一般来说 在如下两种情况下使用类 1 用户想用类的方法和属性来提高代码的封装性 2 用户希望创建大量性质相近的对象 在其他的情况下 一般使用标准的代码模块 对象浏览器对象浏览器 对象浏览器可以使用户通过一些组件 components 校验和发现一些对象 如 命 名空间 namespaces 类 class 结构 structures 接口 interfaces 类 型 types 枚举 enums 等等 以及它们的成员属性 properties 方法 methods 事件 events 变量 variables 常量 constants 枚举项 enum items 这些组件可以是用户的解决方案 solution 里的工程 即项目 project 可以是这些工程里引用的组件 也可以是一些外部组件 这些组件 都可以通过改变对象浏览器里的浏览窗口进行不同的选择 这样对使用的类通 全局的了解将有很大的意义 可以直接按 F2 键打开对象浏览器 用户可以在对象浏览器选择一个组件 则它所包括的对象出现在左端 关于选 定的对象 对象窗口 及对象的成员 成员窗口 出现在右端 关于这些对象 成员的描述信息在对象浏览器底部的描述窗口出现 对象栏 显示当前浏览范围内所有的对象 包括命名空间 namespace 类 classes 结构 structures 接口 interfaces 类型 types 以及枚举 enums 它是以树的形式出现的 用户可以通过双击树的节点或点击 展开节点下包括的内容 对象成员栏 每个对象都包括诸如 属性 properties 方法 methods 事件 events 变量 variables 常量 constants 枚举项 enum items 等等内 容 在对象浏览器里 这些内容统统被称为成员 在对象栏里选择对象 它可 以认为是一个对象的集合 则它的成员就会出现在成员栏中 点击成员 则在 描述栏及时更新 并显示成员的详细描述 描述栏 位于对象浏览器的底部 用以显示选中的对象或成员的详细信息 自定义按钮 用以定义要浏览的组件 可以是工程所引用的组件 也可以是一 些外部组件 当用户要搜索特别的内容的时候 点击 Find Symbo 按钮 确定搜索范围 搜 索类型和方式 就可以在搜索结果窗口得到结论 在类视图 Class View 中 列出了当前工程中的一些类的继承及结构关系 通 过使用类视图 用户可以发现编制的代码的一些不足之处 并对程序进行编辑 调整对象之间的结构关系 一 一 建立和使用对象建立和使用对象 对象的建立和销毁 对象的生命周期对象的建立和销毁 对象的生命周期 当一个对象被销毁时 Sub Destruct 方法被系统自动调用 但不能被显式调用 NEt 框架能够在系统自认为一个对象并没有使用价值的时候把该对象销毁 但 是切记 不象 Class Terminate 和 Sub New 那样 系统将会在上一次引用一个 对象之后调用 Sub Destruct 这个方法 1 1 带参数的带参数的 SubSub NewNew 的构造函数的构造函数 用户可以通过在类的定义的任何地方定义 Sub New 过程来实现对类的构造函数 构造函数的第一行必须是调用它的基本类的构造函数或者是当前类的其他构造 函数 用户必须确认基本类是在其他的类的初始化过程之前初始化的 但是令 人惊讶的是 即使创建基本类 用户也必须调用构造函数 Mybase New 因为所 有的类都是最终从一个名为 Object 的类继承而来的 在调用它的父类的构造函 数以后 用户可以在 Sub New 过程中加入一些另外的初始化的代码 Sub New 可以支持带参数的构造函数 这些参数通过调用构造函数时 从过程中传入的 例如 Dim t as truck New Truck 18 2 2 使用使用 SubSub DestructDestruct 作为析构函数作为析构函数 为了建立一个类的析构函数 用户可以建立一个名为 Sub Destruct 的过程 并 且可以入在类的定义的任何地方 在析构函数中写入的代码可以用来释放其他 的对象 关闭一个文件或者做其他的结束工作 下面的例子说明了怎样通过一 个带参数的构造函数建立一个类 并且初始化一个属性 Imports System Namespace TruckNamespace Module Module1 Class Truck Private iWheels as Integer Sub New initialWheels as integer MyBase New iWheels initialWheels End Sub Sub Destruct Place cleanup code here End Sub Property Wheels as Integer Get Wheels iWheels End Get Set iWheels Value End Set End Property End Class shared sub Main Dim t as truck New Truck 18 Console WriteLine The truck has 6 根据数据源的需要 完成事务初始化 上述这些功能对应用程序来说都是透明的 结构图中的物理数据源是 DBMS 操作系统和网络平台的一个综合体 和 Windows 其他地方一样 为了处理对象 ODBC 需使用相应的句柄 在能真正 做些什么事情以前 必须先从 ODBC 或 Windows 获得这种句柄 ODBC 提供了四 个句柄 环境 连接 语句和描述符句柄 并且必须在连接数据源之前申请环 境句柄 连接句柄的作用是将资源分配给实际的数据源连接 应用程序在与数 据源连接以前必须先申请连接句柄 每个连接句柄只与一个环境句柄相连 一 个环境句柄可与多个连接句柄相连 语句句柄用于管理对系统发出的实际请求 它必须与一个连接关联在一起 而这个连接也必须与环境关联到一起 应用程 序在提交 SQL 请求以前必须先请求一个语句句柄 每一个语句句柄只与一个连 接句柄相连 一个连接句柄可与多个语句句柄相连 描述符句柄则提供一些特 殊的描述信息 例如结果集的数据列信息 或 SQL 语句的动态参数等等 下图 显示了环境句柄 连接句柄和语句句柄之间的关系 每一种 SQL 数据类型对应一种 Visual Basic 数据类型 在默认的情况下 驱动 程序假设 SQL 语句中的列或参数的数据类型与连接在其上的 Visual Basic 数据 类型是相对应的 如果 Visual Basic 数据类型不使用默认的数据类型 应用程 序可以用函数 SQLBindCol SQLGetData SQLBindParameter 中的参数 fcType 来指定另外一个数据类型 在从数据源返回数据之前 驱动程序将数据转换为 指定的数据类型 同样 在把数据传给数据源之前 驱动程序将指定的 Visual Basic 数据类型转换成 SQL 数据类型 使用使用 ODBCODBC APIAPI 访问数据库访问数据库 为了存取 ODBC 数据源 应用程序应该包含以下的步骤 1 连接 ODBC 数据源 要求给定 ODBC 数据源名称以及其他一些必要的信息 在应用程序调用 ODBC 函数之前 必须初始化 ODB 接口 建立一个环境句柄 首 先声明一个环境句柄变量 如 Dim hEnv1 as Long 如果使用的是 ODBC 2 X 那么调用函数 SQLAllocEnv 并把环境变量以引用传 递的方式传给该函数 驱动程序管理器将初始化 ODBC 环境 为环境句柄分配存 储空间 并返回一个环境句柄 如 SQLAllocEnv hEvn1 如果使用的是 ODBC 3 X 那么参数 SQL NULL EVN 调用函数 SQLAllocHandle 如 SQLAllocHandle SQL HANDLE ENV SQL NULL HANDLE hEnv1 以上步骤在一个应用程序中只能进行一次 但在一个 ODBC 环境中可以连接多个 数据源 下面就来看如何连接数据源 在连接数据源之前 应用程序先分配一个或多个连接句柄 首先声明一个连接 句柄变量 如 Dimn hDbc1 as Long 如果使用的是 ODBC 2 x 那么调用函数 SQLAllocConnect 并把连接句柄变量 以引用传递的方式传给该函数 驱动程序管理器为该连接分配一块储存空间 并返回一个连接句柄 如 SQLAllocConnect hEnv1 hDbc1 如果使用的是 ODBC 3 x 那么用参数 SQL HANDLE DBC 和环境句柄来调用函数 SQLAllocHandle 如 SQLAllocHandle SQL HANDLE DBC hEnv1 hDbc1 现在就可以指定驱动程序和数据源了 并且用函数 SQLDriverConnect 来连接指 定的数据源 如 2 处理 SQL 语句 1 应用程序把 SQL 语句字符串放入一个缓冲区 如果这个 SQL 语句含有参数 还应该设置参数值 2 如果 SQL 语句返回一个结果集 还要为该语句早班一个游标名 3 应用程序以 准备 或 立即执行 的方式提交 SQL 语句 4 如果 SQL 语句建立一组结果集 应用程序可以查询结果的属性 例如列数 列的数据类型等 为每一列连接一个缓冲并提取结果 5 如果 SQL 语句产生错误 则提取错误信息并采取相应的措施 在处理 SQL 语句之前 首先必须分配一个语句句柄 先声明一个语句句柄变量 如 Dim hStmtl as ling 如果使用是的 ODBC 2 X 那么调用函数 SQLAllocStmt 如 SQLAllocStmt1 hDbc1 hStmt1 如果使用的是 ODBC 3 X 那么用参数 SQL HANDLE STMT 和参数 hDbc1 调用函数 SQLAllocHandle 如 SQLAllocHandle SQL HANDLE STMT hDbc1 hstmt1 接下来就可以执行 SQL 语句了 如果采用 准备 方式执行 sql 语句 应用程 序要做如下步骤 1 调用 SQLPrepare 函数准备一个 SQL 语句 把 SQL 语句作为函数的一个参数 例如 SQLPrepare hStmt1 Select Name Age From Employee Where AGE SQL NTS 2 设置 SQL 语句中的参数值 如果 SQL 语句中出现了问号 那么表明这个 SQL 语句是带参数的 如 SQLBindParameter hStmt1 1 SQL Param INPUT SQL C Clong SQL INTEGER 0 0 age 0 name vbNull 这样每次查询后 Name 字段值就存放在变量 name 中 3 调用函数 SQLExecute 来执行 SQL 语句 如 SQLExecute hStmt1 4 提取查询结果 这个任务由函数 SQLFetch 来完成 如 SQLFetch hStmt1 5 根据程序需要 可有选择地进行这五个步骤 如果是采用 立即执行 方式执行 SQL 语句 那么省去上面的第一步 在执行 SQL 语句时 用函数 SQLExecuteDirect 如 但是就速度而言 准备 方式比 立即执行 方式要快 因此 只在下面情况下 考 虑使用 立即执行 方式 1 应用程序的 SQL 语句只执行一次 2 应用程序在执行前不需要查询有关结果信息 3 结束事务 可以提交事务 也可以撤销事务 有两种提交事务的模式 一种是自动模式 另一种是手动模式 在自动模式下 每个 SQL 语句都被认为成一个完整的事务而自动提交 在手动 模式下 事务由一个或几个 SQL 语句组成 如果应用程序提交一个 SQL 语句时 没有活动事务 驱动程序就建立一个新的事务 在后续的 SQL 语句提交过程中 驱动程序保持这个处于活动的事务 直到应用程序调用函数 SQLTransact ODBC2 X 或 SQLENDTRAN ODBC 3 X 进行事务提交或撤消 如果驱动程序支持 SQL AUTOCOMMIT 连接选项 则缺省的事务模式是自动提交模 式 如果不支持 SQL AUTOCOMMIT 连接选项 则缺省的事务模式是手动模式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论