为了账号安全,请及时绑定邮箱和手机立即绑定

这段数据库访问的代码会出现什么样的问题,不考虑初始化问题

这段数据库访问的代码会出现什么样的问题,不考虑初始化问题

慕侠2389804 2018-12-06 14:39:08
static string _DataConnection = ConfigurationManager.AppSettings["DataConnection"]; SqlConnection _conn = null; private SqlConnection GetDbConnection() { if (_conn == null) return new SqlConnection(_DataConnection); else return _conn; } 如果在多个方法同时使用同一连接时,会出现什么问题?
查看完整描述

7 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

如果你每次调用的时候是这么写:

SqlConnection myConn= MyClass.GetDbConnection();

然后在下面的访问使用myConn对象,我不觉得会有什么问题
查看完整回答
反对 回复 2019-01-07
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

线程不安全

查看完整回答
反对 回复 2019-01-07
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

怎么个不安全法,可否说下你的理由

查看完整回答
反对 回复 2019-01-07
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

没什么问题.你的_conn不是静态的.要看你是用同一个对象来调用还是每次实例一个对象调用了

查看完整回答
反对 回复 2019-01-07
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

每次都是用同一个类来调用,

    public class ErrorLogDAL : BaseDAL<ErrorLog>, IErrorLog
    {
        public int Add(ErrorLog t)
        {
            _dic.Clear();
            _sql = "insert into ErrorLog values(@LogDate,@ErrorID,@Comment,@StackTrace)";
            _dic.Add("@LogDate", t.LogDate);
            _dic.Add("@ErrorID", t.ErrorID);
            _dic.Add("@Comment", t.Comment);
            _dic.Add("@StackTrace", t.StackTrace);
            return _dbHelper.ExecuteNonQuery(_sql, _dic);
        }
查看完整回答
反对 回复 2019-01-07
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

@az235: 

那并发有问题,WEB程序一般都是每次事例化对象调用,当然你可以用个集合缓存.WIN的话应该问题不大

查看完整回答
反对 回复 2019-01-07
  • 7 回答
  • 0 关注
  • 561 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信