……这问题问的…让人很难回答。
1、 sqlcommand cmd=new sqlcommand();
然后指定他的sqlconntion和sqltxt;
2、 cmd.Connection = Connection;
3、 cmd.CommandText = "GetPageData";
4、 cmd.CommandType = CommandType.StoredProcedure;
跟调用sql语句是一样一样的
用三层在需要时也用存储过程啊
调用存储过程和用几层没有关系的,调用这个和你不用分层时的用法是一样一样的
就是把传过来的 string sql="存储过程的名称" 原来写sql语句的地方 基本上相同
比如你定义了一个Woker的数据访问层,Worker _worker = new Woker();为它属性赋值 _worker.Name="张三";
SqlParameter[] parameters = {
new SqlParameter("@Name", SqlDbType.NVarChar,10),}
parameters[0].Value= _worker.Name;
using (SqlConnection connection = new SqlConnection(connectionString))
{
int result;
try
{
connection.Open();
}catch(Exception){
MessageBox.Show("无法连接指定服务器!程序关闭!");
Application.Exit();
}
SqlCommand command = BuildIntCommand(connection, "worker_Add", parameters);
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
connection.Close();
return result;
}
public List<Class1> SelectFiles(int start,int end,string name)
{
List<Class1> list = new List<Class1>();
SqlCommand cmd = new SqlCommand("proc_page", DBhelp .Sqlconn());//和数据库里的存储过程名称一样
cmd.CommandType = System.Data.CommandType.StoredProcedure;//执行存储过程
cmd.Parameters.Add("@start", System.Data.SqlDbType.Int).Value = start;//开始行索引
cmd.Parameters.Add("@end", System.Data.SqlDbType.Int).Value = end;//结束行索引
cmd.Parameters.Add("@name", System.Data.SqlDbType.VarChar, 20).Value = name;
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Class1 c = new Class1();
c.F_filename = dr["f_filename"].ToString();
c.U_username = dr["u_username"].ToString();
c.F_remark = dr["f_remark"].ToString();
c.F_id = Convert.ToInt32(dr["f_id"]);
list.Add(c);
}
dr.Close();
DBhelp.Sqlconn().Close();
return list;
}
呵呵呵,和sql语句一样,就是改一下执行CommandType