SQL Insert并不总是在表中创建行

时间:2015-04-14 17:12:16

标签: sql asp.net vb.net sql-insert

我有一个aspx.vb程序,用于检查表是否存在会话,如果没有连接到我们的ECM软件,则使用许可证,并使用会话信息更新表。如果用户尝试再次登录,则应找到现有会话,但仍然只使用一个许可证。

99%的时间可以正常工作,除非用户偶尔使用2个许可证,但只会在表格中创建一行,这样就会留下陷入困境的重复会话,必须手动断开才能释放许可证。

我添加了日志记录,它按照应有的方式命中代码,变量正在传递正确的值。在与数据库建立连接之前,代码是否可能过快地运行逻辑?

    lvSql = "insert into OnBase_Sessions values (@dbSeqNum,@SID,@UName,@LastActivity,@ccSeqNum)"
            x = New sqlCmds(lvSql, "ONBASEAPI")
            x.addIntParameter("@dbSeqNum", SqlDbType.Int, 4, lvDataSourceSeq)
            x.addStrParameter("@SID", SqlDbType.VarChar, 40, lvSession)
            x.addStrParameter("@UName", SqlDbType.VarChar, 15, user.userName)
            x.addStrParameter("@LastActivity", SqlDbType.DateTime, 0, System.DateTime.Now)
            x.addIntParameter("@ccSeqNum", SqlDbType.Int, 4, lvClientCodeSeq)
            x.exeNonQuery()

1 个答案:

答案 0 :(得分:0)

了解使用Private over Public变量的重要性的宝贵经验。 :P