社区
数据库
帖子详情
再问ado问题:如何得知一个sql语句的正确性?
farfh
2003-08-06 02:25:20
我经常出现sql不正确导致程序出错的问题,
请问有何办法能够先确定了sql语句的正确性再执行????
...全文
71
29
打赏
收藏
再问ado问题:如何得知一个sql语句的正确性?
我经常出现sql不正确导致程序出错的问题, 请问有何办法能够先确定了sql语句的正确性再执行????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
farfh
2003-08-12
打赏
举报
回复
问题没解决,不过我还是结贴了,谢谢大家关心。
如果有人愿意帮俺看看,我留个qq:14773900
全天8小时再线,不觉得我弱智的请帮我看看,谢谢了先。
commandconque
2003-08-11
打赏
举报
回复
你使用catch{
}try(_com_error *e){
AfxMessageBox(e->Description());
}
这样你可以知道错误的信息,但一般不是高手是无法理解那英文式的中文的,我用的是将SQL放到MICROSOFT SQL2000 server 的查询分析器中校验语法错误和查询错误之后在再程序中对应出错信息,请注意单引号和双引号,在程序中的有时将字符串自动加上‘’;
如在
_VARIANT 类型中给SQL语句时将参数自动加入'' ,而查询器中必须对字符补加
guanjinke
2003-08-11
打赏
举报
回复
除非你写个函数来检测SQL语句的语法,否则的话你只能通过异常处理来得到SQL语句的正确性。可以根据异常号来判断是哪种错误。
my_mtx
2003-08-11
打赏
举报
回复
如果是别人传给你的,不大好办,只有让他传条件,你自己拚SQL语句,多加判断。这样安全一些。
再有作动态存储过程,你在程序中调用
likangnian0128
2003-08-11
打赏
举报
回复
靠语法分析来保证sql语句的正确性……
写起来太累了…………
不值得。
而且也不能判别sql当中涉及具体的表名、字段名、字段值等信息的错误。
nomenn
2003-08-11
打赏
举报
回复
你学了编译原理???
自己写一些代码判断 sql语句的正确阿
zerphy
2003-08-11
打赏
举报
回复
try catch
topYellow
2003-08-08
打赏
举报
回复
UP
BuZhang_AP97091
2003-08-08
打赏
举报
回复
VC 程序给了你自由发挥的空间
自己实现吧
个人比较同意TRY CATCH
dzqsuper
2003-08-08
打赏
举报
回复
looking...
farfh
2003-08-08
打赏
举报
回复
做个小程序啊,sql语句是拼凑出来的,检查不出语句出错的模块的原因,我在format语句之前都对每一个变量做了检测的,可检查不出来,所以就想在sql语句上面打主意,这个问题出现的几率很低,但一出错就会导致程序当掉,平时debug什么的都检查不出来的,只能靠log错误,所以改起来很恼火
ZouMorn
2003-08-08
打赏
举报
回复
是对的 SQL 语句就不会错,是错的就就不会对,我是说固定在代码里面。
如果你的 SQL 是别人传给你的,你在做引擎啊,我佩服!
如果你的 SQL 是靠代码拼凑起来的,请还是先严格一点过滤。
再说,SQL那么复杂的语法,只有到执行的时侯 数据库引擎才会告诉你对不对。
farfh
2003-08-08
打赏
举报
回复
写到存储过程中来执行也没用,郁闷死了.........
skink
2003-08-07
打赏
举报
回复
mark,看最后怎样解决
我也遇到同样的问题,但是没有楼主这么必须要解决,我改了,不判断,直接运行。tnnd,在数据库里面执行一下,那算什么,如果为此写一个算法,还不值当。
grey_whp
2003-08-07
打赏
举报
回复
catch 抓到的异常里面有详细的说明,你抓抓看看就知道了
farfh
2003-08-07
打赏
举报
回复
try catch俺还是会的,写程序这是基本需要啊,我自从写代码以来都加了的,但是这种方法也不成的。程序照样当,根本没办法
farfh
2003-08-07
打赏
举报
回复
也就是说任何人传一个sql语句过来,我能先检测,然后再执行,就这个意思。^_^
farfh
2003-08-07
打赏
举报
回复
这个道理我懂啊,我不是抓不出错误来,只是即使能抓到错误,并且知道错误原因,可是这个错误无法避免,而且一旦产生就会让让程序当掉,这个大家可以自己测试,一旦使用ado执行一个错误的sql语句后,过一段时间程序几乎是一定挂,无论怎么处理都没用。我的意思就是要不出错误,而不是抓出错误,不知道俺说清楚了没有。希望有大侠能提供一下思路也好,谢谢了先
csuxiong
2003-08-06
打赏
举报
回复
好像只有try catch 亚!
wuchuncai
2003-08-06
打赏
举报
回复
vc也支持try...catch
加载更多回复(9)
JAVA上百实例源码以及开源项目
5个目标文件,演示Address EJB的实现,创建
一个
EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回
一个
经过初始化的上下文,用client的getHome()函数调用Home接口...
JAVA上百实例源码以及开源项目源代码
Message-Driven Bean EJB实例源代码 2个目标文件 摘要:Java源码,初学实例,EJB实例 Message-Driven Bean EJB实例源代码,演示
一个
接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发
一个
感谢...
VBA从入门到精通(控件+类模块+
ADO
+SQL数据库)
VBA中比较高阶的课程,主要讲解关于各种事件的应用,各种控件的应用,如果使用类模块,如果在VBA用调用
SQL语句
去处理数据库中的数据等操作。学习完成本课后,你可以在Excel中开发各种小型应用系统。以下是课程主要...
C# 使用参数化
SQL语句
单击“登录“按钮后,你会发现竟然也能进入主窗体!我们输入的名户名和密码并不正确,为何也能...我们在程序中存在着大量拼接产生
SQL语句
的代码,这就会导致
一个
比较大的安全隐患,容易遭受SQL注入攻击。就这个窗体例
python解析
sql语句
_解析
SQL语句
的正则表达式
我有
一个
IronPython脚本,它对
一个
sqlserver数据库执行一堆
SQL语句
。语句是实际上包含多个语句的大字符串,由“GO”关键字分隔。当它们从sqlmanagementstudio和其他一些工具中运行时,这是有效的,但在
ADO
中则不行。...
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章