驱动程序开发实例_驱动程序开发实例分析

       很高兴能够参与这个驱动程序开发实例问题集合的解答工作。我将根据自己的知识和经验,为每个问题提供准确而有用的回答,并尽量满足大家的需求。

1.J2EE使用JDBC执行SQL语句需要哪个对象

2.JDBC使用步骤过程

3.Windows设备驱动程序WDF开发的本书内容

4.如何利用VFW在Delphi中开发视频捕获程序

驱动程序开发实例_驱动程序开发实例分析

J2EE使用JDBC执行SQL语句需要哪个对象

       JDBC 入门 -- 建立联接

        你需要做的第一事情是你与想要使用的 DBMS 建立一个连接。这包含 2 个步骤:装载驱动程序并建立连接。

        装载驱动程序

        装载驱动程序只需要非常简单的一行代码。例如,你想要使用 JDBC-ODBC 桥驱动程序, 可以用下列代码装载它:

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        你的驱动程序文档将告诉你应该使用的类名。例如, 如果类名是 jdbc.DriverXYZ ,你将用代码以下的代码装载驱动程序:

        Class.forName("jdbc.DriverXYZ");

        你不需要创建一个驱动程序类的实例并且用 DriverManager 登记它,因为调用 Class.forName 将自动将加载驱动程序类。如果你曾自己创建实例,你将创建一个不必要的副本,但它不会带来什么坏处。

        加载 Driver 类后,它们即可用来与数据库建立连接。

        建立连接

        第二步就是用适当的驱动程序类与 DBMS 建立一个连接。下列代码是一般的做法:

        Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");

        这个步骤也非常简单,最难的是怎么提供 url。如果你正在使用 JDBC-ODBC 桥, JDBC URL 将以 jdbc:odbc 开始:余下 URL 通常是你的数据源名字或数据库系统。因此,假设你正在使用 ODBC 存取一个叫 "Fred" 的 ODBC 数据源,你的 JDBC URL 是 jdbc:odbc:Fred 。把 "myLogin" 及 "myPassword" 替换为你登陆 DBMS 的用户名及口令。如果你登陆数据库系统的用户名为 "Fernanda" 口令为 "J8",只需下面的 2 行代码就可以建立一个连接:

        String url = "jdbc:odbc:Fred";

        Connection con = DriverManager.getConnection(url,"Fernanda", "J8");

        如果你使用的是第三方开发了的 JDBC驱动程序,文档将告诉你该使用什么 subprotocol, 就是在 JDBC URL 中放在 jdbc 后面的部分。例如, 如果驱动程序开发者注册了 acme 作为 subprotocol, JDBC URL 的第一和第二部分将是 jdbc:acme。驱动程序文档也会告诉你余下 JDBC URL 的格式。JDBC URL 最后一部分提供了定位数据库的信息。

        如果你装载的驱动程序识别了提供给 DriverManager.getConnection 的 JDBC URL ,那个驱动程序将根据 JDBC URL 建立一个到指定 DBMS 的连接。正如名称所示,DriverManager 类在幕后为你管理建立连接的所有细节。除非你是正在写驱动程序,你可能无需使用此类的其它任何方法,一般程序员需要在此类中直接使用的唯一方法是 DriverManager.getConnection。

        DriverManager.getConnection 方法返回一个打开的连接,你可以使用此连接创建 JDBC statements 并发送 SQL 语句到数据库。在前面的例子里,con 对象是一个打开的连接,并且我们要在以后的例子里使用它。

       建议你在baidu所搜你所用的数据库以及其JDBC(例如mysql jdbc)

JDBC使用步骤过程

       第1章表单、窗口与导航条设计

       1.1下拉列表

       实例001把数据库中的记录显示到下拉列表中

       实例002将数组中的数据添加到下拉列表中

       实例003级联菜单

       实例004修改数据时下拉列表的默认值为数据库中原数据信息

       实例005可以输入文字的下拉列表

       实例006应用下拉列表选择所要联机的网站

       实例007根据下拉列表的值显示不同控件

       1.2动态添加表单元素

       实例008根据数据表结构自动生成数据录入页面

       实例009投票信息一次性设置

       1.3文本框组件的应用

       实例010自动计算金额

       实例011设置文本框的只读属性

       实例012让您的密码域更安全

       实例013限制多行文本域输入的字符个数

       1.4单选按钮组

       实例014不提交表单获取单选按钮的值

       实例015选中单选按钮后显示其他表单元素

       1.5表单的应用

       实例016防止表单在网站外部提交

       实例017带记忆功能的表单

       1.6弹出窗口控制

       实例018打开新窗口显示广告信息

       实例019自动关闭的广告窗口

       实例020弹出窗口居中显示

       实例021打开新窗口显示详细信息

       实例022弹出窗口的Cookie控制

       实例023为弹出的窗口加入关闭按钮

       实例024关闭弹出窗口时刷新父窗口

       实例025应用window.close()关闭窗口

       1.7弹出网页对话框

       实例026弹出网页(模式)对话框

       实例027弹出全屏显示的网页(模式)对话框

       实例028网页拾色器

       1.8无边框窗口

       实例029全屏显示无边框有滚动条窗口

       实例030应用JavaScript实现指定尺寸的无边框窗口

       实例031应用CSS+DIV实现无边框窗口

       1.9水平导航条应用

       实例032带图标的文字导航条

       实例033flash导航条

       实例034按钮导航条

       实例035导航条的动画效果

       实例036不用实现质感导航条

       1.10下拉菜单式导航条

       实例037二级导航菜单

       实例038半透明背景的下拉菜单

       实例039弹出式下拉菜单

       实例040展开式导航条

       1.11侧导航条设计

       实例041导航按钮

       实例042收缩式导航菜单

       实例043树状导航菜单

       第2章代码封装技术

       2.1数据库操作函数

       实例044通用数据库连接函数

       实例045测试数据库连接

       2.2窗口与对话框

       实例046弹出提示对话框并重定向网页

       实例047打开指定大小的新窗口并居中显示

       2.3字符串处理

       实例048自动获得汉字的拼音简码

       实例049转换输入文本中的回车和空格

       实例050小写金额转换为大写金额

       实例051判断字符串是否以指定字符开头

       实例052把一个长数字分位显示

       实例053检查字符是否是英文字母

       实例054计算字符串的实际长度

       实例055将数字字符串格式化为指定长度

       实例056将RGB格式的颜色值转换为十六进制格式

       实例057将IP地址转换为对应的数值

       实例058字符串转换成数组

       实例059截取字符串

       实例060ASP生成条形码

       实例061过滤输入字符串中的危险符号

       2.4数据验证

       实例062验证输入的日期格式是否正确

       实例063检查表单元素是否为空

       实例064服务器端验证E-mail是否正确

       实例065客户端验证E-mail是否正确

       实例066通过正则表达式验证电话号码

       实例067应用正则表达式验证车牌号码

       实例068验证输入的字符串是否为汉字

       实例069验证身份证号码

       实例070客户端验证用户名和密码

       实例071验证网址是否合法

       实例072验证数量和金额

       实例073限制输入字符串的长度

       2.5身份验证

       实例074用户登录模块

       实例075带状态识别的用户登录模块

       2.6日期与时间

       实例076显示长日期格式的系统日期

       实例077实时显示系统时间

       实例078倒计时

       实例079特殊日期提示

       2.7随机函数

       实例080随机产生指定位数的验证码

       实例081生成随机字符串

       第3章数据库技术

       3.1连接Access数据库

       实例082通过DSN连接数据库

       实例083通过ADO连接数据库

       实例084通过OLEDB连接数据库

       实例085连接加密的Access数据库

       3.2连接SQLServer数据库

       实例086通过非DSN连接数据库

       实例087通过OLEDB连接数据库

       实例088通过DSN连接数据库

       3.3数据插入

       实例089单条数据录入

       实例090批量数据录入

       实例091插入系统日志信息

       3.4立即获取插入记录的自动编号

       实例092获取SQLServer数据库中插入记录的自动编号

       实例093获取Access数据库中插入记录的自动编号

       3.5数据更新

       实例094更新指定记录

       实例095批量更新

       实例096商品价格调整

       3.6数据删除

       实例097删除指定记录

       实例098批量删除数据

       实例099删除数据前给予提示

       实例100记录从数据库里删除的记录数

       3.7分页显示数据信息

       实例101分页显示

       实例102查询结果分页显示

       实例103转到指定页的分页

       实例104具有页码跳转功能的分页

       实例105分栏显示

       实例106分类、分栏显示

       实例107统计记录集中数据的数量

       实例108对超长文本数据进行分页显示

       3.8密码管理

       实例109修改密码

       实例110找回密码

       3.9锁定记录

       实例111在线售票

       实例112自动生成编号

       3.10在ASP中应用事务

       实例113事务在插入多表数据中的应用

       实例114事务在添加留言信息中的应用

       实例115事务在删除数据中的应用

       3.11使用代码创建数据库、数据表和字段

       实例116动态创建Access数据库

       实例117动态创建SQL数据库

       实例118动态创建SQL数据表和字段

       3.12枚举数据库中的数据表

       实例119列举SQLServer数据库中的数据表

       实例120列举Access数据库中的数据表

       3.13查看及修改数据表结构

       实例121查看数据表结构

       实例122在线维护投票数据库

       3.14在线删除表或索引

       实例123在线删除指定的一个数据表

       实例124在线删除多个指定的数据表

       实例125在线删除索引

       3.15清除部分或全部数据表中的数据

       实例126清空指定数据表中的所有数据

       实例127清空指定数据表中的全部记录并插入指定ID的新记录

       实例128批量清空数据表

       3.16生成和恢复SQL数据库脚本

       实例129生成SQL数据库脚本

       实例130恢复SQL数据库脚本

       3.17SQLServer数据库备份与恢复

       实例131SQLServer数据备份

       实例132SQLServer数据恢复

       3.18Access数据库备份与恢复

       实例133Access数据备份

       实例134Access数据恢复

       实例135Access数据压缩

       3.19其他

       实例136不刷新页面筛选数据库中的数据

       实例137动态附加数据库

       实例138连接Oracle数据库

       第4章SQL查询相关技术

       4.1查询常量

       实例139查询数值型数据

       实例140查询字符串

       实例141查询日期型数据

       实例142查询逻辑型数据

       实例143查询非空数据

       4.2查询控件

       实例144查询指定控件内字符串

       实例145查询指定控件内数据

       实例146查询日期控件内数据

       实例147控件作为字段、操作符和内容进行查询

       4.3查询变量

       实例148利用变量查询字符串数据

       实例149利用变量查询数值型数据

       4.4查询名列前茅或垫底者

       实例150查询前10名数据

       实例151查询后10名数据

       实例152取出数据统计结果前10名数据

       4.5周期、日期查询

       实例153查询指定ACCESS数据库中的日期型数据

       实例154查询指定SQLServer数据库中的日期型数据

       实例155查询指定时间段的数据

       实例156按月查询统计数据

       4.6大小比较、逻辑查询、重复

       实例157查询大于指定条件的数据

       实例158查询时不显示重复记录

       实例159NOT与谓词进行组合条件的查询

       实例160列出数据中的重复记录和记录条数

       4.7排序、分组统计

       实例161对数据进行降序查询

       实例162对数据进行多条件排序

       实例163对统计结果进行排序

       实例164单列数据分组统计

       实例165多列数据分组统计

       实例166多表分组统计

       实例167使用COMPUTER和COMPUTERBY

       4.8聚集函数

       实例168利用聚集函数SUM对学生成绩进行汇总

       实例169利用聚集函数AVG求某班学生的平均成绩

       实例170利用聚集函数MIN求销售额、利润最少的商品

       实例171利用聚集函数MAX求月销售额完成最多的销售记录

       实例172利用聚集函数COUNT求日销售额大于某值的记录数

       实例173利用聚集函数First或Last求数据表中第一条或最后一条记录

       4.9多表查询

       实例174利用from子句进行多表查询

       实例175使用表的别名

       实例176合并多个结果集

       4.10嵌套查询

       实例177简单的嵌套查询

       实例178复杂的嵌套查询

       实例179嵌套查询在查询统计中的应用

       4.11子查询

       实例180用子查询作派生的表

       实例181用子查询作表达式

       实例182用子查询关联数据

       4.12联合语句

       实例183多表联合查询

       实例184对联合查询后的结果进行排序

       实例185条件联合语句

       4.13内连接查询

       实例186简单内连接查询

       实例187复杂内连接查询

       实例188选择一个表中与另一个表中的行相关的所有行

       4.14外连接查询

       实例189使用外连接进行多表联合查询

       实例190leftouterjoin查询

       实例191rightouterjoin查询

       4.15利用IN进行查询

       实例192利用in或notin语句限定范围

       实例193用IN查询表中的记录信息

       实例194由IN引入的关联子查询

       4.16交叉表查询

       实例195利用transform分析数据

       实例196利用transform动态分析数据

       4.17函数查询

       实例197在查询语句中使用格式化函数格式条件

       实例198在查询中使用字符串函数

       实例199在查询中使用日期函数

       4.18HAVING语句应用

       实例200利用having语句过滤分组数据

       4.19更新数据

       实例201更新单条数据

       实例202批量修改数据

       实例203将指定字段数据为空的记录添上数据

       4.20删除数据

       实例204删除单条数据

       实例205删除指定字段数据为空的记录

       第5章视图、存储过程和触发器的应用

       5.1视图的应用

       实例206创建视图

       实例207在ASP中应用视图

       实例208获取数据库中的全部用户视图

       实例209修改视图

       实例210删除视图

       5.2在ASP中使用存储过程

       实例211创建存储过程

       实例212应用存储过程实现登录身份验证

       实例213应用存储过程添加数据

       实例214应用存储过程实现数据分页

       实例215获取数据库中全部的存储过程

       实例216修改存储过程

       实例217删除存储过程

       5.3在ASP中使用SQLServer触发器

       实例218创建触发器

       实例219应用触发器自动插入回复记录

       实例220获取数据库中的触发器

       实例221应用触发器添加数据

       实例222应用触发器修改数据

       实例223应用触发器删除数据

       第6章文件管理

       6.1文件上传

       实例224单一文件上传到数据库

       实例225将文件与表单数据一同上传到数据库

       实例226使用组件上传文件到数据库

       实例227上传文件到服务器

       实例228使用组件上传文件到服务器

       实例229限制上传文件的大小

       6.2文件下载

       实例230应用Stream对象实现文件下载

       实例231获取下载文件所需时间

       6.3对文件的基本操作

       实例232对文件的创建、删除、移动、复制的操作

       实例233对文件名称的修改

       6.4文件操控

       实例234从文本文件中读取注册服务条款

       实例235应用文本文件保存访客人数的计数器

       实例236判断文件是否被改动

       实例237远程批量重命名文件

       实例238通过文本文件向数据库文件中传递数据

       实例239用ASP生成HTML

       6.5对文件夹的操作

       实例240对文件夹创建、删除、移动、复制的操作

       实例241对文件夹名称的修改

       6.6遍历文件

       实例242遍历指定目录下的所有文件

       实例243遍历指定驱动器

       实例244获取驱动器信息

       6.7其他

       实例245获取文件信息

       实例246读取注册表信息

       实例247读取驱动器信息

       第7章图形与多媒体

       7.1头像选择

       实例248通过下拉列表选择头像

       实例249从网页对话框中选择头像

       7.2上传

       实例250将文件保存到数据表

       实例251限制上传的格式

       7.3显示数据表中的二进制

       实例252显示数据表中的单个文件

       实例253连续显示数据表中的

       实例254按实际大小显示

       7.4控制、显示特效

       实例255通过滑动鼠标放大或缩小

       实例256显示随机图像

       实例257如何实现的动态翻动的效果

       实例258播放

       实例259浮动广告

       实例260投票结果柱形图显示

       实例261获取页面中图像的实际尺寸

       7.5插入Flash动画

       实例262插入Flash动画

       实例263插入背景透明的Flash动画

       7.6在线播放与下载

       实例264在线点播

       实例265MP3文件下载

       实例266自制视频播放器

       实例267带记忆的在线影片欣赏

       第8章在线统计

       8.1网站计数器

       实例268通过Application对象实现网站计数器

       实例269网站图形计数器

       实例270记录用户IP地址的计数器

       实例271只对新用户计数的计数器

       8.2统计用户停留时间

       实例272统计用户在某一页停留的时间

       实例273统计用户在站点停留的时间

       8.3在线统计

       实例274判断用户是否在线

       实例275实时统计在线人数

       8.4统计网站访问量

       实例276统计日访问量

       实例277利用柱形图统计分析网站访问量

       第9章ActiveX组件

       9.1广告轮显组件

       实例278制作旗帜广告条

       实例279随机广告

       9.2计数器组件

       实例280图形计数器

       实例281幸运有奖

       实例282自动生成Web导航链接(contentlinking组件实现)

       9.3BrowserCapabilities组件

       实例283显示浏览器信息

       实例284根据获取的浏览器名称及版本显示不同的页面

       9.4注册DLL或OCX组件

       实例285本机注册

       实例286远程注册DLL组件

       9.5图表分析组件

       实例287获取情报曲线分析图

       实例288年销售额及利润柱形图分析

       实例289年销售额及利润折线图分析

       9.6VB订制组件

       实例290文件上传组件

       实例291Ping组件

       9.7调用Delphi编写的OCX组件

       实例292显示系统时钟组件

       实例293自制媒体播放器组件

       9.8日历组件

       实例294调用MicrosoftDateandTimePicker组件

       实例295调用Delphi编写的日历组件

       第10章E-mail短信

       10.1发送邮件

       实例296利用E-mail发送邮件

       实例297邮件群发

       实例298带附件的邮件发送程序

       实例299利用AspEmail组件发送邮件

       实例300利用MicrosoftOutLook发送邮件

       10.2构建邮件服务器

       实例301利用CDONTS组件发送邮件

       实例302接收邮件

       第11章报表与打印

       11.1Web打印

       实例303利用JavaScript调用IE自身的打印功能实现打印

       实例304利用WebBrowse打印

       11.2利用Word打印报表

       实例305将页面中的客户列表导出到Word并打印

       实例306利用Word自动打印指定格式的会议记录

       11.3利用Excel打印报表

       实例307利用Excel打印学生信息报表

       实例308将web页面中的数据导出到Excel并自动打印

       11.4打印库存报表

       实例309打印库存明细表

       实例310打印库存盘点报表

       实例311打印库存汇总报表

       实例312打印指定条件的库存报表

       11.5套打邮寄产品单

       实例313打印汇款单

       实例314打印快递单

       实例315打印信封

       11.6利用CSS样式打印

       实例316利用CSS样式打印页面中的指定内容

       实例317利用CSS样式实现分页打印

       第12章应用与控制

       12.1调用Word

       实例318将表格数据保存到Word

       实例319将查询结果保存到Word

       12.2在ASP中访问Excel

       实例320通过ADO访问Excel

       实例321直接访问Excel

       12.3导出数据到Excel

       实例322将table数据导出到Excel

       实例323将查询结果导出到Excel

       12.4导出SQLServer数据

       实例324将数据导出到Access数据库

       实例325将数据导出到Excel

       12.5ASP中压缩与解压缩RAR文件

       实例326ASP中压缩RAR文件

       实例327ASP中解压缩RAR文件

       12.6其他

       实例328在ASP中调用PowerPoint

       实例329在ASP中编写并调用类

       第13章Ajax技术

       13.1ASP操作XML数据

       实例330向XML文件中动态添加数据

       实例331读取指定XML文件中的数据

       实例332分页显示XML文件中的数据

       13.2无刷新技术应用

       实例333不刷新页面查询数据库中的数据

       实例334实时验证用户注册信息

       实例335XML留言板

       实例336无刷新广告轮显

       第14章安全技术

       14.1用户登录

       实例337用户安全登录

       实例338带验证码的用户登录模块

       实例339分级用户登录

       实例340如果未登录浏览某页,强制跳到登录页面

       14.2权限

       实例341测试管理员级别

       实例342权限不够弹出的对话框

       14.3获取客户端信息

       实例343确定对方的IP地址

       实例344获取客户端TCP/IP端口的方法

       14.4禁止用户复制网页内容及保护源码

       实例345禁止用户复制网页内容(方法一)

       实例346禁止用户复制网页内容(方法二)

       实例347禁止网页被另存为

       实例348防止网页被盗链

       实例349使用ScriptEncoder加密工具加密

       实例350将ASP文件转换成HTML文件

       14.5数据加密

       实例351对登录密码进行加密

       实例352应用变换法对系统日志信息加密

       实例353应用数字加密算法对用户密码加密

       14.6Access数据库安全

       实例354防止Access数据库被下载

       实例355设置数据库密码

       14.7防止SQL注入

       实例356替换输入字符串中的危险字符

       实例357禁止用户输入字符串中的危险字符

       实例358防止表单被重复提交

       14.8禁止用户刷新屏幕

       实例359屏蔽IE主菜单

       实例360屏蔽键盘相关事件

       实例361屏蔽鼠标右键

       第15章建站与程序调试

       15.1配置IIS服务器

       实例362在Windows2000Server中配置IIS5.0

       实例363在WindowsXP+IIS中配置IIS

       实例364在Windows2003Server中配置IIS

       15.2配置数据库服务器需要注意的事项

       实例365SQLServer数据库注意事项

       实例366Access数据库不能更新

       15.3程序调试与错误处理

       实例367应用MicrosoftScriptDebugger调试程序

       实例368解决SQLServer中用户登录失败

       实例369解决SQLServer语句出现的错误

       实例370解决“没有权限”错误

       实例371截获系统错误并给出友好提示

       实例372常用错误代码一览

       15.4服务器安全设置

       实例373设置和管理账户

       实例374windows2003安装的安全设置

       实例375Windows2003远程管理WEB站点

       实例376Windows安全设置

       实例377配置IIS服务

       实例378管理服务器IIS用户

       15.5其他

       实例379FTP服务器

       实例380在IIS中建立WAP服务器

       实例381Asp配置虚拟目录

       第16章网站设计与网页配色

       16.1企业网站

       实例382电脑产品

       实例383软件产品

       实例384汽车销售

       实例385物流

       实例386宾馆酒店

       实例387工业产品

       16.2大型门户类网站

       实例388综合性门户

       实例389搜索引擎

       实例390垂直门户

       16.3机构类网站

       实例391政务

       实例392市委党校

       实例393银行

       16.4教育类网站

       实例394院校

       实例395招生

       实例396科研

       实例397培训学校

       实例398考试

       16.5电子商务类

       实例399图书

       实例400购物

       16.6生活资讯类

       实例401电信

       实例402家居

       实例403中介

       实例404房地产

       16.7其他

       实例405个人主页

       实例406游戏

       实例407**

       实例408美食

       第17章行业应用(综合应用)

       17.1用户注册

       实例409一般用户注册

       实例410带检测用户名的用户注册

       实例411分步用户注册

       17.2留言本

       实例412简易留言本

       实例413留言本(留言分类)

       实例414留言本(版主回复)

       17.3在线投票系统

       实例415网上投票系统(限制多次投票)

       实例416网上投票系统(一个IP一月只能投票一次)

       17.4论坛

       实例417查看帖子信息

       实例418发表主题信息

       实例419回复主题信息

       实例420删除主题及回复信息

       实例421安全退出

       17.5购物车

       实例422添加至购物车

       实例423查看购物车

       实例424从购物车中移去指定商品

       实例425修改商品购买数量

       实例426清空购物车

       实例427收银台结账

       17.6万年历

       实例428简易万年历

       实例429带有备忘录的万年历

       17.7聊天室

       实例430Application形式的聊天室

       实例431数据库形式的聊天室(10分钟不说话用户下线)

       实例432聊天室(私聊)

       17.8搜索

       实例433一般搜索

       实例434高级搜索

       实例435常用搜索

       技术要点对应实例位置

       ……

Windows设备驱动程序WDF开发的本书内容

       JDBC操作数据库的基本步骤:

       1、加载JDBC驱动程序。

       在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。成功加载后,会将Driver类的实例注册到DriverManager类中。

       2、提供JDBC连接的URL。

       连接URL定义了连接数据库时的协议、子协议、数据源标识。

       书写形式:协议:子协议:数据源标识。

       3、创建数据库的连接。

       要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象, 该对象就代表一个数据库的连接。

       使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和 密码来获得。

       4、创建一个Statement,要执行SQL语句,必须获得java.sql.Statement实例。

       Statement实例分为以下3 种类型:

       (1)执行静态SQL语句。通常通过Statement实例实现。

       (2)执行动态SQL语句。通常通过PreparedStatement实例实现。

       (3)执行数据库存储过程。通常通过CallableStatement实例实现。

       5、执行SQL语句。

       Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate 和execute

       6、处理两种情况的结果。

       (1)执行更新返回的是本次操作影响到的记录数。

       (2)执行查询返回的结果是一个ResultSet对象。

       ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。

       使用结果集(ResultSet)对象的访问方法获取数据。

       7、关闭JDBC对象(关闭结果集-->关闭数据库操作对象-->关闭连接)。

       操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:

       (1)关闭记录集。

       (2)关闭声明。

       (3)关闭连接对象。

扩展资料:

       一、JDBC(Java DataBase Connectivity,java数据库连接)

       是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

       二、特性

       Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。

       三、用途

       简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

       百度百科-JDBC

如何利用VFW在Delphi中开发视频捕获程序

       本书主要讨论KMDF,KMDF是WDM的继续,可以把WDM驱动程序转换为KMDF驱动程序。还对UMDF设备驱动程序作了编程入门介绍。

       过去,我研究过如何用DriverStudio开发工具开发Windows下的WDM设备驱动程序,承蒙电子工业出版社的厚爱,出版了《Windows 2000/XP WDM设备驱动程序开发》一书。

       WDF的简单化编程,导致DriverStudio退出了Windows设备驱动程序的开发,将DriverStudio定格在3.2版本。

       从形式上看,KMDF的对象和DriverStudio的类,具有相似的地方。本书的内容安排和《Windows 2000/XP WDM设备驱动程序开发》的基本一致,具体安排如下:

       章 名 主 要 内 容

       第1章 Windows 2000和WDM驱动程序 KMDF是WDM的继续,KMDF构建在WDM之上。对于一些Windows驱动程序的基本概念,初学者仍需要了解,如Windows 2000中的组件、驱动程序种类,以及WDM驱动程序特点等

       第2章 KMDF驱动程序框架 KMDF驱动程序框架由对象和事件回调例程构成。KMDF框架中所有的事物都由对象来表示,各种事件处理都由事件回调例程来完成。学习KMDF编程,主要是学习KMDF的各种对象、对象函数和事件回调例程的编程

       第3章 基本对象 KMDF提供了许多对象,本章只介绍一些基本的对象,如WDFREQUEST对象、WDFQUEUE对象等,还介绍了数据同步访问、字符串操作和QueueSample实例

       第4章 KMDF驱动程序编程入门 介绍Windows Vista下的KMDF驱动程序编程入门,包括KMDF驱动程序编程环境的建立,KMDF的创建、生成及安装过程,以及Win32 Console和MFC两种应用程序的编程

       第5章 KMDF驱动程序和应用程序之间的通信 介绍应用程序与KMDF之间的通信,包括应用程序对KMDF的通信,以及KMDF对应用程序的通信

       第6章 即插即用例程 主要介绍PnP组件、即插即用例程的加载和卸载顺序及PnpPowerSample实例等

       第7章 电源管理 主要介绍系统电源状态与设备电源状态、电源管理控制标志位、设备的唤醒特征和空闲检测、电源管理编程及IdleSample实例等

       第8章 KMDF过滤器驱动程序 描述如何写一个过滤器驱动程序,该驱动程序可位于功能驱动程序的上面或下面,它通过过滤流经它的IRP来修改设备的行为

       第9章 USB设备开发 主要介绍USB设备的配置/接口/端点、USB数据的传输方式、USB描述符、USB编程对象、USB编程(如激活配置与中止配置、同步操作、异步操作)及USBSample实例等

       第10章 PCI设备驱动程序开发 本章就硬件访问、中断处理和DMA传输3个方面展开讨论,并以CY7C09449芯片为例,给出一个经过测试的PCI设备驱动程序实例——PCISample实例。另外,还给出了一个不依靠硬件设备的DMASample实例

       第11章 UMDF驱动程序编程入门 介绍UMDF驱动程序编程入门,包括UMDF驱动程序的创建、生成及安装,以及一个简单的实例编程

       第12章 WinDbg使用介绍 WinDbg是微软提供的一个功能非常强大的调试软件,可以在源代码级别调试Windows下的WDF驱动程序。本章主要介绍用WinDbg调试KMDF和UMDF

       微软推荐的WDF书籍是《Developing Drivers with the Microsoft Windows Driver Foundation》,作者是Penny Orwick和Guy Smith。

       微软提供的学习WDF的中文网站地址是:www. microsoft. com/china/whdc。

       开发工具

       微软提供的WDF驱动程序开发工具包WDK的最新版本是WDK 1.7,可以从其网站下载。

       本书实现WDF驱动程序及应用程序实例所用的工具是:Visual C++ 6.0和WDK 1.7。

       本书配套光盘

       本书配套光盘中含有书中所有实例的驱动程序和应用程序的全部源代码,以及生成的驱动程序和可执行的应用程序。除USBSample和PCISample实例因需要硬件设备的支持,读者无法运行外,其他11个实例均可在Windows XP和Vista下运行。

       本书特点

       编程入门:详细的步骤介绍,初学者的良师益友。

       应用实例:对程序作了必要的注释,了解驱动程序编程的捷径。

       简单实用:KMDF的编程非常简单,Winows硬件开发工程师必须掌握。

       理解深刻:笔者精通Winows设备驱动程序开发和硬件开发,所有实例均为自己创造,每个实例都有其独特意义,笔者用实例诠释自己对KMDF的理解和认识。

       微软推荐的WDF书籍是“理论派”,以讲解理论为主,讲得非常详细和全面;本书是“实战派”,全书以实例为主,用实例带你快速入门。

       善于学习,勤于思考,勇于实践。用这句话与投身硬件开发的青年学子共勉。

       希望这本书能对您现在或将来的工作有所帮助。

       本书得以顺利出版,要特别感谢周利莉的一贯支持;感谢何海洋和赵庆花的支持;感谢陈建波和何亚垒的支持;感谢朱沭红编辑和电子工业出版社。

       由于作者的理论水平有限,书中难免出现差错和遗漏,敬请广大计算机应用开发人员批评指正,

       十年时间,跟踪Windows设备驱动程序的开发,驱动程序VxD->WDM->KMDF,工具VtoolsD->DDK、DriverWorks->WDK,但愿WDF长久。别了WDM,别了DriverStudio。

       缺月挂疏桐,漏断人初静。谁见幽人独往来,缥缈孤鸿影。……

       武安河

       2009年元旦

       摘要:许多关于视频的软件(如视频会议、可视电话等)开发都应用于视频捕获技术。微软为软件开发人员提供了一个专门用于视频捕获的VFW SDK,从而为在Windows系统中实现视频捕获提供了标准的接口,并大大降低了程序的开发难度。由于VFW SDK只有VC和VB版,没有Delphi版,因此需要在Delphi中一一声明DLL中的各个函数和变量。文中详细介绍了的步骤,同时给出了程序实例。

       1 引言  视频捕获与实时处理是目前图像处理系统中最关键的技术之一,能否准确捕获指定的视频图像,进而实现精确地数据分析与处理,关系到整个系统的成败。笔者在开发“公路安全线轧压检测系统”时就遇到此情况。该系统主要研究在公路关键地段,过往机动车辆是否瞬间轧压**安全线。因此车辆轧压安全线的一个主要原因是车辆超车或逆向行使而违反了上下行规则,这是造成交通事故的最主要、最直接的因素。本系统通过实时拍摄,抓取瞬间图像,并经过系统的分析和处理来及时准确地检测车辆行驶情况,从而驱动控制设备以作出相关处理。

       显然,这个系统的关键之处是实时捕获视频图像。为此,采用微软公司推出的关于数字视频的一个软件包VFW。它能使应用程序通过数字化设备从传统的模拟视频源得到数字化的视频剪辑。VFW的一个关键思想是播放时不需要专用硬件

       。为了解决数字视频数据量大的问题,需要对数据进行压缩,而VFW引进了AVI的文件标准。该标准未规定如何对视频进行捕获、压缩及播放,仅规定视频和音频该如何存储在硬盘上及在AVI文件中交替存储视频帧和与之相匹配的音频数据。但VFW可使程序员通过发送消息或设置属性来捕获、播放和编辑视频剪辑。当用户在安装VFW时,安装程序会自动地安装配置视频所需要的组件,如设备驱动程序、视频压缩程序等。VFW主要由6个模块组成。具体如表1所列。

       表1 VFW功能模块

       模 块 功 能

       AVICAP.DLL 包含执行视频捕获的函数,它给AVI文件的I/O处理和视频、音频设备驱动程序提供一个高级接口

       MSVIDEO.DLL 包含一套特殊的DrawDib函数,用来处理屏幕上的视频操作

       MCIAVI.DRV 包括对VFW的MCI命令解释器的驱动程序

       AVIFILE.DLL 包含由标准多媒体I/O(mmio)函数提供的更高的命令,用来访问.AVI文件

       ICM 压缩管理器,用于管理的视频压缩/解压缩的编译码器(Codec)

       ACM 音频压缩管理器,提供与ICM相似的服务,适用于波形音频  2 视频捕获程序开发的基本步骤  

       2.1 使用AVICap窗口类

       笔者使用的是AVICap窗口类来开发视频捕获程序。AVICap类支持实时视频流捕获和单帧捕获,并提供对视频源的控制。通常使用的MCI控件虽然也提供了数字视频服务。并为视频叠加提供了Overlay命令集等,但这些命令主要是基于文件的操作,还不能满足实时地从视频缓存中提取数据的要求。对于使用没有视频叠加能力的捕获卡的PC机来说,用MCI提供的命令集是无法捕获视频流的。而AVICap窗口类在捕获视频方面具有一定的优势,它能直接访问视频缓冲区,而不需要生成中间文件,因而实时性很强,效率也很高。另外,它还可将数字视频捕获到一个文件中。

       好了,今天关于“驱动程序开发实例”的话题就到这里了。希望大家能够通过我的讲解对“驱动程序开发实例”有更全面、深入的了解,并且能够在今后的生活中更好地运用所学知识。