创建过程dbo.InsertData(@Sifra VARCHAR(50),@Opis VARCHAR(50),@Status BIT)
始于
提交交易
DECLARE @ErrorMessage NVARCHAR(MAX)
如果存在(选择*来自dbo.OpstiniTBL,Sifra = @Sifra AND Opis = @Opis AND Status = @Status)
ROLLBACK TRANSACTION
RAISERROR ('Шифрата веќе постои', 16, 1)
RETURN 1
ELSE
开始交易
INSERT INTO dbo.OpstiniTBL(Sifra, Opis, Status)
VALUES(@Sifra, @Opis, @Status)
END
答案 0 :(得分:0)
CREATE PROCEDURE dbo.InsertData(@Sifra VARCHAR(50), @Opis VARCHAR(50), @Status BIT)
AS BEGIN
BEGIN TRANSACTION
DECLARE @ErrorMessage NVARCHAR(MAX)
IF EXISTS(SELECT * FROM dbo.OpstiniTBL WHERE Sifra = @Sifra AND Opis = @Opis AND Status = @Status)
BEGIN
ROLLBACK TRANSACTION
set @ErrorMessage='value exists'
END
ELSE
BEGIN
INSERT INTO dbo.OpstiniTBL(Sifra, Opis, Status)
VALUES(@Sifra, @Opis, @Status)
END
COMMIT TRANSACTION
END
答案 1 :(得分:0)
//,这里可能出什么问题了?
clConnection clConn =新的clConnection(); SqlConnection conn = clConn.openConnection();
SqlCommand comm = new SqlCommand("InsertData", conn);
comm.Connection = conn;
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@Sifra", SqlDbType.NVarChar).Value = OObject.Sifra;
comm.Parameters.Add("@Opis", SqlDbType.NVarChar).Value = OObject.Opis;
comm.Parameters.Add("@Status", SqlDbType.Bit).Value = OObject.Status;
try
{
comm.ExecuteNonQuery();
check = true;
}
catch (SqlException sqlexc)
{
// handle SQL exception
}
答案 2 :(得分:0)
在此处正确使用存储过程名称
SqlCommand comm = new SqlCommand("YourStoredProcedure_Name", conn);