如何实现ADO测试程序
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章将为大家详细讲解有关如何实现ADO测试程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。原来在Sql Server及Oracle上操作时,执行完成后直接把连
千家信息网最后更新 2025年01月24日如何实现ADO测试程序
这篇文章将为大家详细讲解有关如何实现ADO测试程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
原来在Sql Server及Oracle上操作时,执行完成后直接把连接关闭了。返回的参数想怎么处理就怎么处理,并不会出错,注意使用COM交互操作访问ADO的数据将极大的降低性能。
不知道这里有多少人用Sybase做数据库开发的,我是有点受不了了。用了ADO测试程序,冲破重重阻力,终于系统算是正常运行了,要做更进一步的处理:增加数据权限。我们原来是在Sql Server上用函数直接返回的结果集来判断的。
但是Sybase不支持函数,只好用存储过程返回一个判断权限的条件字符串动态执行。问题是取出输出参数总提提示"Command has been closed"。奇怪啊,明明执行的时候是Open了Connection了。写了一个ADO测试程序:
AseConnection con = new AseConnection("Data Source='SYBASE'; Port=5000; UID='sa'; PWD=''; Database='data';Connection Timeout='300';") ; AseCommand com = new AseCommand("GetDataRightSQL", con) ; com.CommandType = System.Data.CommandType.StoredProcedure ; try { AseParameter prm = new AseParameter("@UserID", 1) ; //prm.Direction = System.Data.ParameterDirection.Input ; com.Parameters.Add(prm) ; prm = new AseParameter("@Category","Department") ; com.Parameters.Add(prm) ; com.Parameters.Add(new AseParameter("@FieldName", "Dept_ID")) ; prm = new AseParameter("@returnSql", AseDbType.VarChar, 250) ; prm.Direction = System.Data.ParameterDirection.Output ; com.Parameters.Add(prm) ; con.Open() ; com.ExecuteNonQuery() ; Console.WriteLine(com.Parameters["@returnSql"].Value) ;
由于是我们有一个数据层专门处理数据库操作,开始怀疑封装的不好了。检查了N次也不知道在哪出错,ADO测试程序总以为是输出参数类型有问题,试过几次,长度也改过。不行。
后来注意到:跟踪执行的时候执行成功,总是在取参数的时候出错。
再看一下错误信息"Command has been closed",晕!ADO测试程序不会是取参数值的时候要求数据库连接保持Open状态吧? 修改一下测试代码:
AseParameter prm = new AseParameter("@UserID", 1) ; // prm.Direction = System.Data.ParameterDirection.Input ; com.Parameters.Add(prm) ; prm = new AseParameter("@Category","Department") ; com.Parameters.Add(prm) ; com.Parameters.Add(new AseParameter("@FieldName", "Dept_ID")) ; prm = new AseParameter("@returnSql", AseDbType.VarChar, 250) ; prm.Direction = System.Data.ParameterDirection.Output ; com.Parameters.Add(prm) ; con.Open() ; com.ExecuteNonQuery() ; con.Close() ; //提前关闭数据库 Console.WriteLine(com.Parameters["@returnSql"].Value) ;
关于"如何实现ADO测试程序"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
测试
数据
程序
参数
数据库
时候
处理
篇文章
函数
更多
权限
问题
输出
不行
不错
实用
成功
更进一步
不好
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
拼多多开发者数据库下载
软件开发人员兼职协议
苏州萌点软件开发有限公司
尚南网络安全专业
奉贤区管理软件开发信息推荐
理正安装数据库组件未响应
北京微商系统软件开发公司吗
t6数据库发货单表名
软件开发两类方法的对比
一对多的数据库要怎么建表
德州软件开发互动平台在线学习
网络关健设备和网络安全
如何快速备考网络技术
网络安全法敏感词汇
部队 网络安全
ftp服务器搭建工具
广东应用软件开发价钱
海淀区定制软件开发指导
手机作为代理服务器
服务器虚拟化资源体系的组成
保险公司有投保人的数据库吗
怀旧服猎人装备推荐数据库
网络安全知识都有哪些
维基数据库首页
数据库设置别名都有哪些方法
被称为紫蜂的网络技术
魔兽世界60数据库
怎么启动服务器ntp
通过ip访问数据库
软件开发瀑布式模型