1. 如何判断插入的 sql 语句是否执行成功
如果表中有自增ID列在你插入的语句后面加一句select @@IDENTITY;如:insert into table1(name)values('123');select @@IDENTITY;意思是返回刚插入的自增列的值,判断返回值大于0就是插入成功
2. 如何判断sql是否执行成功
一般没有报错就是执行成功了,但是执行的语句不一定会有返回结果。
3. 如何判断SQL语句执行成功 十万火急!!!!!!!!!
ExecuteNonQuery在执行数据库结构的操作时如果操作成功时返回的是-1,所以判断这种情况下是否成功,需要用try-catch,一个简单的例子:
try
{
con.Open();
int count = cmd.ExecuteNonQuery();
if (count > 0)
{
Console.WriteLine("Update Success!!!");
}
else
{
Console.WriteLine("No Updates!!!");
}
}
catch (SqlException ex)
{
Console.WriteLine("Update Failed coz.. " + ex.Message);
}
finally
{
con.Close();
}
4. 在oracle中怎么判断一个sql语句已成功执行
我说一下我知道的啊:
如果没报错的话,一般就说明报告成功了。
另一种方法:
从v$sql这个视图里面进行查询:假设执行的语句为sqlContent
select * from v$sql where sql_text='sqlContent'
sqlContent中一定要注意大小写问题,如果能查到数据,就说明执行成功了。这个是可以肯定的。
5. 存储过程中用什么来判断sql语句是否执行成功
Transact-SQL 参考
@@ERROR
返回最后执行的 Transact-SQL 语句的错误代码。
语法
@@ERROR
返回类型
integer
注释
当 Microsoft® SQL Server™ 完成 Transact-SQL 语句的执行时,如果语句执行成功,则 @@ERROR 设置为 0。若出现一个错误,则返回一条错误信息。@@ERROR 返回此错误信息代码,直到另一条 Transact-SQL 语句被执行。您可以在 sysmessages 系统表中查看与 @@ERROR 错误代码相关的文本信息。
由于 @@ERROR 在每一条语句执行后被清除并且重置,应在语句验证后立即检查它,或将其保存到一个局部变量中以备事后查看。
示例
A.用 @@ERROR 检测一个特定错误
下面的示例用 @@ERROR 在一个 UPDATE 语句中检测限制检查冲突(错误 #547)。
USE pubs
GO
UPDATE authors SET au_id = '172 32 1176'
WHERE au_id = "172-32-1176"
IF @@ERROR = 547
print "A check constraint violation occurred"
B.用 @@ERROR 有条件地退出一个过程
在此示例中,IF...ELSE 语句在存储过程中的 INSERT 语句后检测 @@ERROR。@@ERROR 变量的值将决定传给调用程序的返回值,以指示此过程的成功与失败。
USE pubs
GO
-- Create the procere.
CREATE PROCEDURE add_author
@au_id varchar(11),@au_lname varchar(40),
@au_fname varchar(20),@phone char(12),
@address varchar(40) = NULL,@city varchar(20) = NULL,
@state char(2) = NULL,@zip char(5) = NULL,
@contract bit = NULL
AS
-- Execute the INSERT statement.
INSERT INTO authors
(au_id, au_lname, au_fname, phone, address,
city, state, zip, contract) values
(@au_id,@au_lname,@au_fname,@phone,@address,
@city,@state,@zip,@contract)
-- Test the error value.
IF @@ERROR <> 0
BEGIN
-- Return 99 to the calling program to indicate failure.
PRINT "An error occurred loading the new author information"
RETURN(99)
END
ELSE
BEGIN
-- Return 0 to the calling program to indicate success.
PRINT "The new author information has been loaded"
RETURN(0)
END
GO
C.用 @@ERROR 检测几条语句的成功
下面的示例取决于 INSERT 和 DELETE 语句的成功操作。局部变量在两条语句后均被设置为 @@ERROR 的值,并且用于此操作的共享错误处理例程中。
USE pubs
GO
DECLARE @del_error int, @ins_error int
-- Start a transaction.
BEGIN TRAN
-- Execute the DELETE statement.
DELETE authors
WHERE au_id = '409-56-7088'
-- Set a variable to the error value for
-- the DELETE statement.
SELECT @del_error = @@ERROR
-- Execute the INSERT statement.
INSERT authors
VALUES('409-56-7008', 'Bennet', 'Abraham', '415 658-9932',
'6223 Bateman St.', 'Berkeley', 'CA', '94705', 1)
-- Set a variable to the error value for
-- the INSERT statement.
SELECT @ins_error = @@ERROR
-- Test the error values.
IF @del_error = 0 AND @ins_error = 0
BEGIN
-- Success. Commit the transaction.
PRINT "The author information has been replaced"
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed
-- and roll back the transaction.
IF @del_error <> 0
PRINT "An error occurred ring execution of the DELETE
statement."
IF @ins_error <> 0
PRINT "An error occurred ring execution of the INSERT
statement."
ROLLBACK TRAN
END
GO
D. 与 @@ROWCOUNT 一同使用 @@ERROR
下面的示例用 @@ERROR 和 @@ROWCOUNT 验证一条 UPDATE 语句的操作。为任何可能出现的错误而检验 @@ERROR 的值,而用 @@ROWCOUNT 保证更新已成功应用于表中的某行。
USE pubs
GO
CREATE PROCEDURE change_publisher
@title_id tid,
@new_pub_id char(4)
AS
-- Declare variables used in error checking.
DECLARE @error_var int, @rowcount_var int
-- Execute the UPDATE statement.
UPDATE titles SET pub_id = @new_pub_id
WHERE title_id = @title_id
-- Save the @@ERROR and @@ROWCOUNT values in local
-- variables before they are cleared.
SELECT @error_var = @@ERROR, @rowcount_var = @@ROWCOUNT
-- Check for errors. If an invalid @new_pub_id was specified
-- the UPDATE statement returns a foreign-key violation error #547.
IF @error_var <> 0
BEGIN
IF @error_var = 547
BEGIN
PRINT "ERROR: Invalid ID specified for new publisher"
RETURN(1)
END
ELSE
BEGIN
PRINT "ERROR: Unhandled error occurred"
RETURN(2)
END
END
-- Check the rowcount. @rowcount_var is set to 0
-- if an invalid @title_id was specified.
IF @rowcount_var = 0
BEGIN
PRINT "Warning: The title_id specified is not valid"
RETURN(1)
END
ELSE
BEGIN
PRINT "The book has been updated with the new publisher"
RETURN(0)
END
GO
6. oracle存储过程怎么判断一条sql语句是否成功
oracle存储过程判断一条sql语句是否成功的方法是增加exception处理,如果没有抛出exception,那就证明正常执行了。
在Oracle中,异常分为以下两类:
Oracle预定义异常
用户自定义异常
在Oracle中预定义的异常如下表所示:
在Oracle中有以下三种方式触发异常:
由Oracle自动触发异常
使用RAISE语句手工触发
调用存储过程RAISE_APPLICATION_ERROR手工触发
代码将演示Oracle自动触发异常:
-- Created on 2015-7-14 by JellyThink
declare
iA NUMBER(2) := 10;
begin
iA := iA / 0; -- Oracle自动触发异常
dbms_output.put_line(iA);
exception
when ZERO_DIVIDE then
dbms_output.put_line('Error Code:' || SQLCODE || ' ' || SQLERRM);
when others then
dbms_output.put_line('Others Exception');
end;
7. 如何判断插入的 SQL 语句是否执行成功
int rowsAffected = stmt.executeUpdate("delete Customers");
if (rowsAffected > 0) {
// 成功了。
} else {
// 记录本来就不存在,或就在这之前的一瞬间被另一个人已经删除了。
}
8. 如何判断SQL语句是否执行成功
if @@ROWCOUNT > 0 and @@ERROR = 0 @@ROWCOUNT > 0表示影响行数大于0 @@ERROR =0表示无出错,两个结合判断执行成功,if语句放在要执行的SQL语句后面就行了
9. PHP中如何判断SQL语句是否成功执行
你可以直接把执行SQL语句的函数执行的结果保存为变量,然后判断
例:我这里用的mysql_query函数哦:
<?php
///....坑爹的代码
$res=mysql_query($sql);
if($res)
echo '执行成功';
else
echo '执行失败';
?>
但是这样的执行成功只是你的语句正确的执行,但是不代表100%可以成功执行对数据库的操作,比如说你数据表里没有记录了,你执行delete语句,虽然成功了, 但是删除的行数是0,这是可能的。
10. 如何判断插入的 SQL 语句是否执行成功
INSERTINTO[table_name](.....)
VALUES(....)
if@@error<>0or@@rowcount<>1
begin
raiserror('写入时错误',16,1)
return
end
说明:
@@error此函数可以捕获执行时发生的错误编号,若不为0,则表示插入失败;
@@rowcount此函数可以捕获插入语句所影响的行数,若不为1,则表示插入时出现了问题。