Foxtable(狐表)用户栏目专家坐堂 → 请问如何捕获到执行sql 的错误?


  共有2314人关注过本帖树形打印复制链接

主题:请问如何捕获到执行sql 的错误?

帅哥哟,离线,有人找我吗?
houseer
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:325 积分:2752 威望:0 精华:0 注册:2015/2/3 19:48:00
请问如何捕获到执行sql 的错误?  发帖心情 Post By:2019/9/29 17:20:00 [只看该作者]

   用定义sqlcommand 这种形式。执行的sql语句,怎么捕获到sql执行的错误呢。比如这个:

 Try
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = "se\ect * from t_ttttt"
cmd.ExecuteNonQuery
Catch ex As Exception
MessageBox.show(222)
End Try

数据库中没有t_ttttt这个表, 就会提示。   我怎么捕获这个错误?   try好像不管事

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/29 17:22:00 [只看该作者]

没有办法捕捉。

 回到顶部
帅哥哟,离线,有人找我吗?
houseer
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:325 积分:2752 威望:0 精华:0 注册:2015/2/3 19:48:00
  发帖心情 Post By:2019/9/29 18:11:00 [只看该作者]

那再请问蓝老师。。。
sqlcommand里没有办法执行多行的语句吗?

insert into table1(1) values('111')
insert into table1(1) values('222')

这样的语句,我放到CommandText,是报错的。。。




 回到顶部
帅哥哟,离线,有人找我吗?
houseer
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:325 积分:2752 威望:0 精华:0 注册:2015/2/3 19:48:00
  发帖心情 Post By:2019/9/29 18:36:00 [只看该作者]

还有关于sql事务的问题:

Try
    Connections("数据库").BeginTransaction()
    Dim cmd As SQLCommand
    cmd.ConnectionName = "数据库"
    cmd.CommandText = "insert into table1(1) values('111')"
    cmd.ExecuteNonQuery
    cmd.CommandText = "insert into table1(1) values('222')"
    cmd.ExecuteNonQuery
    Connections("数据库").Commit
Catch ex As Exception
    Connections("数据库").Rollback()
    MessageBox.show(2)
End try


老师着语句哪有问题啊?  那俩insert死活不执行。
[此贴子已经被作者于2019/9/29 18:36:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/29 20:19:00 [只看该作者]

如果是SqlServer,把多个语句使用分号隔开即可

insert into table1(1) values('111');insert into table1(1) values('222')

直接把sql复制到数据库里能不能执行?


 回到顶部
帅哥哟,离线,有人找我吗?
houseer
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:325 积分:2752 威望:0 精华:0 注册:2015/2/3 19:48:00
  发帖心情 Post By:2019/9/29 20:54:00 [只看该作者]

   噢,加分号可以了。     麻烦版主在看看事务是怎么回事

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/29 21:10:00 [只看该作者]

事务没有问题

 回到顶部
帅哥哟,离线,有人找我吗?
houseer
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:325 积分:2752 威望:0 精华:0 注册:2015/2/3 19:48:00
  发帖心情 Post By:2019/9/29 21:15:00 [只看该作者]

  汗。。 少个new, 发现事务里的代码不会提示错误了。。。

 回到顶部