在敲重构注册窗体的时候,写了三遍访问数据库的代码,代码繁琐,重复太多,所以尝试使用存储过程来完成对数据库的操作,也许有其它更好的方法,我还不知道,大家可以评论告诉我哈,如何减少访问数据库时的代码冗余。
如何使用存储过程对数据库进行操作?
- 首先,在SQL中建立一个存储过程,代码如下
建立了一个名字为“RegisterUser”的存储过程。
在SQL中新建查询,选择要建立存储过程的数据表,创建如下列有参数,插入数据的存储过程,需要在调用时给参数赋值。
CREATE PROCEDURE RegisterUser
@userid char(10),
@username char(10),
@sex char(2),
@cash money,
@status char(10),
@date date,
@time time(7),
@type char(10)
as
begin
Insert into UserInfo(UserID ,UserName ,Sex ,Cash ,Status ,Date,Time ,Type ) values(@userid,@username ,@sex ,@cash,@status,@date,@time,@type)
end
go
建立好之后就可以在数据库中调用了
- 如何在C#中调用呢?
SQLHelper sqlhelper = new SQLHelper();
SqlParameter[] sqlparams = {new SqlParameter ("@userid",user.UserID),
new SqlParameter("@username",user.UserName),
new SqlParameter("@sex",user.Sex),
new SqlParameter("@cash",user.Cash),
new SqlParameter("@status",user.Status),
new SqlParameter("@date",user.Date),
new SqlParameter ("@time",user.Time),
new SqlParameter ("@pwd",user.PWD),
new SqlParameter ("@level",user.Level),
new SqlParameter ("@head",user.Head)
};
string procname = "RegisterUser";
DataTable info = sqlhelper.ExecuteQuery(procname, sqlparams, CommandType.StoredProcedure);
return info;
得到返回值后,就可以利用返回值判断是否添加成功
这是利用存储过程实现数据库的操作,把代码写到数据库中,使用的时候直接调用即可
那么,还有其它的方法吗?
期待分享