首页 > 技术文章 > sql和完善三层架构

wjk123456 2021-11-22 18:04 原文

新添加一个proc

create proc del_class2 @id int
as
begin tran
declare @error int=0
delete from StudentInfo where cid=@id
set @error+=@@ERROR
delete from ClassInfo where id=@id
set @error+=@@ERROR
if @error<>0
rollback tran
else
commit tran
go

//删除cid和id都是15的数据

exec del_class2 15

 

DALclass1 添加一个参数

public static int NonQuery(string sql,CommandType type=CommandType.Text,params SqlParameter[]sqlParameters)
{
int num = 0;
using (SqlConnection con = new SqlConnection(constr))
{

using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = type;
try
{
if (sqlParameters.Length > 0)
{
//如果有则创建一个数组把参数放进去
cmd.Parameters.AddRange(sqlParameters);
}
con.Open();
num = cmd.ExecuteNonQuery();
}
finally
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
return num;
}

DAL

//sqlParameters: 命名参数 和直接传参数 CommandType.StoredProcedure一样

public static int Insert(ClassInfo info)
{
var sql = "insert into classinfo values(@name,@content)";
SqlParameter[] sqlParameters = new SqlParameter[]
{
new SqlParameter("@name",info.Name),
new SqlParameter("@content",info.Content)
};
return Class1.NonQuery(sql,sqlParameters: sqlParameters);
}

推荐阅读