新添加一个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);
}