111,129
社区成员
发帖
与我相关
我的任务
分享
create or replace procedure sp2(v_empno in number, v_sal out number) is
begin
update emp set sal=sal+200 where empno=v_empno;
select sal into v_sal from emp where empno=v_empno;
dbms_output.put_line('员工号:'||v_empno||' 工资:'||v_sal);
end;
CREATE PROCEDURE AddAreaRecord --创建视图
(
@AreaNo nvarchar(10),
@AreaName nvarchar(10),
@BulidNum int,
@Coord nvarchar(10),
@Remark nvarchar(50)
)
AS
Begin Transaction Add_AreaRecord
IF Exists (SELECT 1 FROM Area Where AreaNo = @AreaNo) --判断表里面是否有该条记录
ROLLBACK TRANSACTION Add_AreaRecord --如果有则不执行
ELSE --否则,执行添加另一个表的记录
BEGIN
INSERT INTO Area --添加一个表的记录
(AreaNo,AreaName,BulidNum,Coordinate,Remark)
VALUES
(@AreaNo,@AreaName,@BulidNum,@Coord,@Remark)
COMMIT TRANSACTION Add_AreaRecord --提交事务
END
GO
SqlConnection conn = G_SqlExecute.GetCon();
conn.Open();
SqlCommand myCommand = new SqlCommand("AddAreaRecord", conn);
//指明sql的操作类型是存储过程
myCommand.CommandType = CommandType.StoredProcedure;
//给存储过程添加参数
SqlParameter para1 = new SqlParameter("@AreaNo", SqlDbType.NVarChar, txtAreaNo.Text.Length);
para1.Value = txtAreaNo.Text;
myCommand.Parameters.Add(para1);
SqlParameter para2 = new SqlParameter("@AreaName", SqlDbType.NVarChar, txtAreaName.Text.Length);
para2.Value = txtAreaName.Text;
myCommand.Parameters.Add(para2);
SqlParameter para3 = new SqlParameter("@BulidNum", SqlDbType.NVarChar, txtBulidNum.Text.Length);
para3.Value = txtBulidNum.Text;
myCommand.Parameters.Add(para3);
SqlParameter para4 = new SqlParameter("@Remark", SqlDbType.NVarChar, rtbRemark.Text.Length);
para4.Value = rtbRemark.Text;
myCommand.Parameters.Add(para4);
SqlParameter para5 = new SqlParameter("@Coord", SqlDbType.NVarChar, txtCoord.Text.Length);
para5.Value = txtCoord.Text;
myCommand.Parameters.Add(para5);
if (myCommand.ExecuteNonQuery() > 0)
{
MessageBox.Show("数据添加成功!");
initAreaNo();
LoadData();
}
else
{
MessageBox.Show("数据添加失败!");
}
conn.Close();
