帮忙看下这个存储过程的数据访问类?
时间:2011-12-26
来源:互联网
C# code
以上代码这样写有好么?会不会出现异常?还有try,有人告诉我越小范围越好,是这样吗?
SqlConnection cn = new SqlConnection(connectionString); private SqlConnection CreatConntion() { try { if (cn.State=ConnectionState.Closed) { cn.Open(); } } catch(Exception e) { cn.Close(); throw new Exception(e.Message); } } private SqlCommand BuildIntCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters) { SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters); command.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, 0, 0, string.Empty, DataRowVersion.Default, null)); return command; } private SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters) { SqlCommand command = new SqlCommand(storedProcName, connection); command.CommandType = CommandType.StoredProcedure; foreach (SqlParameter parameter in parameters) { if (parameter != null) { if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null)) { parameter.Value = DBNull.Value; } command.Parameters.Add(parameter); } } return command; } public static int RunProcedure(string procName, SqlParameter[] cmdParms) { using (SqlConnection conn = CreatConntion()) { using (SqlCommand comm = BuildIntCommand(conn, procName, cmdParms)) { try { int result = comm.ExecuteNonQuery(); return result; } catch (Exception er) { //throw new Exception(er.Message); return -1; } } } }
以上代码这样写有好么?会不会出现异常?还有try,有人告诉我越小范围越好,是这样吗?
作者: shikun220 发布时间: 2011-12-26
try是越小范围越好,因为用try影响性能
作者: zhuawang 发布时间: 2011-12-26
try的范围也不是越小越好,有时还要兼顾代码的结构和可读性。
另外对SqlCommand用using意义不大。
public的是个静态方法,而其他private的都是非静态方法,类的静态方法可以调用本类的非静态方法吗?
另外对SqlCommand用using意义不大。
public的是个静态方法,而其他private的都是非静态方法,类的静态方法可以调用本类的非静态方法吗?
作者: dalmeeme 发布时间: 2011-12-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28