.NET 客户端程序是否可以使用 System.Data.SqlClient 库与后端 SQL Server 进行通信,服务器是否可以在不涉及任何错误的上下文中向客户端程序发送信息性消息以及客户端程序来获取已发送的消息?
create proc NewFoo
@value text,
@userid text
as
begin
insert foo
(name, createdby) values (@value, @userid);
declare @recordcount int
select @recordcount = count(*) from foo where createdby= @userid;
if @recordcount = 100
begin
-- let user know they've created their 100th record. Woo-hoo!!
end
end
这是一个额外的伪代码示例,更接近实际用例;注意不同的严重性:
if @value > @maxallowed
begin
if @userlevel = 'manager'
raiserror('Exceeded max. Intentional?',10,1)
else
raiserror('Exceeds max. Your edit was not saved',11,1)
end
PS 在客户端命令对象中不使用 OUT 参数或 RETURN 值参数。
PPS 我正在使用 SqlDataAdapter.Update 方法,并且一些代码在 SqlCommand 对象上使用了 DataReader。