上一章我分享了我学习和存储过程的格式,这一次我就来分享我对存储过程调用的理解。其实我觉得不管是存储过程或者是sql语句,调用的区别不是很大,流程都差不多,只是存储过程安全性比较高。存储过程的调用在三层里主要有实体类,bll,dal里面要写的方法比较多,像ui里面就只是调用而已,所以可以说没有难度的。只要懂得一点编程就可以直接调用了。所以我主要讲的就是在实体类,bll和dal里面的调用方法。
首先我们先讲实体类里面的因为三层的顺序就是先实体类到dal再到bll最后才是ui的。实体类就是定义方法了,方便我们调用,也能让我们在很多地方更加的方便和简洁。先新建一个类然后再在这个类里面写,例如:
private int siteid;
public int Siteid
{
get { return siteid; }
set { siteid = value; }
}
private string sitename;
public string Sitename
{
get { return sitename; }
set { sitename = value; }
}
以上就是我们实体类要编写的代码。
接下来就是dal里面的方法了,dal里面主要就是在这里过度,下面就是dal要写的代码:
private void fz(SqlCommand cmd)
{
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter myDa = new SqlDataAdapter(cmd);
myDa.Fill(Ds);
cmd.Dispose();
myDa.Dispose();
}
写个修改的方法
public DataSet 方法名 (实体类 si)
{
SqlConnection conn = myconn.GetConnection();
SqlCommand cmd = new SqlCommand("存储过程名", conn);
cmd.Parameters.AddWithValue("@字段名", si.字段);
cmd.Parameters.AddWithValue("@字段名", si.字段);
fz(cmd);
conn.Close();
return Ds;
}
查看方法:
public DataSet 方法名 ()
{
SqlConnection conn = myconn.GetConnection();
try
{
SqlCommand cmd = new SqlCommand("存储过程名", conn);
cmd.CommandType = CommandType.StoredProcedure;
fz(cmd);
return Ds;
}
catch { return null; }
finally { conn.Close(); }
}
这里就是dal写的代码了,至于其它的比如修改删除的就差不多了,稍微修改一下就可以了。所以看个人的理解了。
接下来就是bll里面了,其实这里名很简单的。只要调用就可以了,其实就是一句代码的事情。例如:
public DataSet 方法名(实体类 si)
{
return dal. 方法名(si);
}
或者
public DataSet 方法名()
{
return dal. 方法名();
}
基本就是这样了,至于在ui里面的调用就自己去看看就懂得了。其实一点难度都没有,我们初学者也只要看一下就会懂得了。