通常当我从C#(ASP.NET 3.5)执行存储过程时,我必须执行以下操作:
myConnection.Open();
SqlCommand cmd = myConnection.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "myProc";
SqlParameter param1 = cmd.Parameters.Add("@param1", SqlDbType.VarChar);
param1.Direction = ParameterDirection.Input;
param1.Value = txtParam.Text;
SqlDataReader reader = cmd.ExecuteReader();
有更好的方法吗?有没有办法创建一个有点多态的C#类,可以像处理函数那样处理调用proc? (例如Procs.myProc(param1)
)
答案 0 :(得分:1)
通过实施Enterprise Library.,您可以真正减少代码行数。
答案 1 :(得分:0)
您可以编写自己的帮助程序类来完成所有工作(打开/关闭连接等),这样您只需要传递过程的名称和pareameters,并获取另一方的任何内容(读者,数据集,等...)或者你可以使用第三方工具为你做这些(并且更多)像Subsonic:
http://geekswithblogs.net/scottkuhl/archive/2006/12/08/100700.aspx