VB中如何得知SQL执行成功?

请问在VB程序中,如何得知SQL语句执行成功还是失败呢?请写清代码,谢谢!

On Error 语句

启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。

语法

On Error GoTo line

On Error Resume Next

On Error GoTo 0

On Error 语句的语法可以具有以下任何一种形式:

语句 描述
On Error GoTo line 启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。
On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。
On Error GoTo 0 禁止当前过程中任何已启动的错误处理程序。

说明

如果不使用 On Error 语句,则任何运行时错误都是致命的;也就是说,结果会导致显示错误信息并中止运行。

一个“允许的”错误处理程序是由 On Error 语句打开的一个处理程序;一个“活动的”错误处理程序是处理错误的过程中允许的错误处理程序。如果在错误处理程序处于活动状态时(在发生错误和执行 Resume、Exit Sub、Exit Function 或 Exit Property 语句之间这段时间)又发生错误,则当前过程的错误处理程序将无法处理这个错误。控件返回调用的过程。如果调用过程有一个已启动的错误处理程序,则激活错误处理程序来处理该错误。如果调用过程的错误处理程序也是活动的,则控件将再往回传到前面的调用过程,这样一直进行下去,直到找到一个被允许的但不是活动的错误处理程序为止。如果没有找到被允许而且不活动的错误处理程序,那么在错误实际发生的地方,错误本身是严重的。错误处理程序每次将控件返回调用过程时,该过程就成为当前过程。在任何过程中,一旦错误处理程序处理了错误,在当前过程中就会从 Resume 语句指定的位置恢复运行。

注意 一个错误处理程序不是 Sub 过程或 Function 过程。它是一段用行标签或行号标记的代码。

错误处理程序依靠 Err 对象的 Number 属性中的值来确定错误发生的原因。在其它任何错误发生之前,或在调用一个可能会导致错误发生的过程之前,错误处理程序应该先测试或存储 Err 对象中相关的属性值。Err 对象中的属性值只反映最近发生的错误。Err.Description 中包含有与 Err.Number 相关联的错误信息。

On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用含有 On Error Resume Next 语句的过程的语句继续运行。这个语句可以置运行时错误于不顾,使程序得以继续执行。可以将错误处理程序放置在错误发生的地方,而不必将控件传输到过程中的其它位置。在调用另一个过程时,On Error Resume Next 语句成为非活动的,所以,如果希望在例程中进行嵌入错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。

注意 当处理在访问其它对象期间产生的错误时,与其使用 On Error GoTo 指令,不如使用 On Error Resume Next。每次和对象打交道,在不知道用代码访问哪个对象时,检查一下 Err 都会打消这种疑虑。可以确定是哪个对象产生错误(Err.Source 中指定的对象),也可以确定是哪个对象将错误代码放在 Err.Number 中。

On Error GoTo 0 停止在当前过程中处理错误。即使过程中包含编号为 0 的行,它也不把行 0 指定为处理错误的代码的起点。如果没有 On Error GoTo 0 语句,在退出过程时,错误处理程序会自动关闭。

在错误未发生的时候,为了防止错误处理程序代码运行,请像在下段程序中那样,在紧靠着错误处理程序的前面写入 Exit Sub、Exit Function 或 Exit Property 语句。

Sub InitializeMatrix(Var1, Var2, Var3, Var4)
On Error GoTo ErrorHandler
. . .
Exit Sub
ErrorHandler:
. . .
Resume Next
End Sub

此处,错误处理程序代码在 Exit Sub 语句之后,而在 End Sub 语句之前,从而与过程中的流程分开。错误处理程序代码可以在程序中的任何地方写入。

当对象作为文件运行时,对象中未捕获的错误都被返回控制应用程序。在开发环境中,如果设置了正确选项,未捕获的错误只返回控制应用程序。请参考主应用程序的文档的有关描述,从而得知,在调试时应该设置哪些选项、如何设置这些选项以及主机能否建立类。

如果建立一个访问其它对象的对象,则应该着手处理从那些对象返回的未处理错误。如果无法处理这种错误,请将 Err.Number 中的错误代码当作自己的一个错误,然后将错误回传给对象的调用者。应该将错误代码添加到 vbObjectError 常数上来指定这个错误。举例来说,如果错误代码为 1052,则使用如下方法指定错误:

Err.Number = vbObjectError + 1052

注意 调用动态链接库 (DLL) 期间产生的系统错误不会产生例外情况,也不会被 Visual Basic 的错误捕获操作所捕获。当调用 DLL 函数时,应该(根据 API 的详细说明)检查每一个返回值以确定是成功还是失败,如果失败,则检查 Err 对象的 LastDLLError 属性中的值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-12-02
On Error 语句

VB中如何得知SQL执行成功?
On Error GoTo line 启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。On Error Resume ...

VB怎么判断SQL数据库连接成功或失败
Private Sub cmdTest_Click()On Error GoTo showerr Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.ConnectionString = Connection_String conn.Open MsgBox "连接成功", vbOKOnly + vbInformation, "测试连接"Exit Sub showerr:MsgBox "Error:" & Err.Number & vbCrLf & Err...

vb 怎样判断rs.open conn,sql 1,3 insert,update,delete 执行成功
最简单的方法,在每个语句运行前 On Error Resume Next Err.Clear 运行语句 If Err.Number <> 0 Then 错误处理代码 end if

VB中如何判断 sql数据库中的表是否已经存在?
select name from sysobjects where xtype='u' and name='table1'如果有记录则存在,没有记录则不存在 < tablename="table1"sql="select name from sysobjects where xtype='u' and name='"+tablename+"'"rs.open sql,conn,0,1 if rs.eof then response.write "不存在"else response.write...

vb连接数据库sql的命令是什么
在Visual Basic (VB) 中,执行SQL查询并连接数据库的命令通过自定义函数实现。此函数使用ADODB组件,允许动态执行SQL命令。定义函数`exesql`,接收SQL命令字符串作为参数。首先,声明ADODB连接和记录集对象。设置连接字符串以匹配你的数据库。函数检查SQL命令是否包含特定的动词(如INSERT、DELETE或UPDATE)。

VB怎么连接 SQL 数据库?
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。2、输入以下代码:“Public conn1 As SqlConnection = New SqlConnection _("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。3、代码详解:声明关键字Public(...

vb中如何正确使用SQL(使用后,编译说"没有语句结束")
update [table] set [col] = [value] where [col] = [value]最好print出来执行时的sql string,比较容易看出来问题在哪。

vb的sql数据库连接
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。2、输入以下代码:“Public conn1 As SqlConnection = New SqlConnection _("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。3、代码详解:声明关键字Public(...

在VB中若要判断数据库库查找(FIND)数据是否成功,可通过访问记录集对象...
换一种写法:set rs=server.createobject("adodb.recordset")sql="Update table1 set field='"& 变量 & "'where id="& id rs.open sql,conn,3,1 如果是日期型字段,这里这样写:field="& 变量 &"字符串型的像上面那样写

想用VB编一个程序读取sql数据库中的内容
VB中,关于SQL数据库的连接是比较复杂的,但也有一个可以参考的学习思路,方法如下。1、建立数据库链接 在工具条中,有一个“数据视图窗口”的工具,用它可以建立各种数据库的链接。建立链接的过程:点击“数据视图窗口”,出现“数据视图”窗体,点击选中“数据链接”,按右键,点击“添加数据链接”,...

相似回答