asp.net4.0+sql2008 多用户同时操作时 页面显示错误数据
本系统 大概 有 300-400 在线把! 如果每个用户同一时间段操作同一个表时,a用户页面数据 就会显示b用户数据,而且 还有的页面查询 出错,错误都是 sql语句 字段不存在,每个用户信息 都保存独立session 中, 单一用户登录操作时 就没问题,我也测试了批量插入 同一个表,最多打开网站慢,不会出现a用户数据跑到b用户页面显示,目前找不到问题出在哪里!请大家给点建议,谢谢了! --------------------编程问答-------------------- 看看程序中是否有static等全局变量,多用户操作时,可能会产生混乱. --------------------编程问答-------------------- 对了 所有 DB操作方法 都是用的static --------------------编程问答-------------------- 出现同样问题,数据会乱跑,虽然用了static方法,但都只是方法而以不是变量,变量都是传进去的,结果数据乱了 --------------------编程问答-------------------- 应该有地方用static变量保存数据了 --------------------编程问答-------------------- public static int ExecuteNonQuery(string connectstring,CommandType cmdType, string cmdText, params DP[] commandParameters)public static DR ExecuteReader<DR>(string connectstring, CommandType cmdType, string cmdText, params DP[] commandParameters)
底层就这两个操作数据的静态方法,变量都是转入进去的
虽然SQL语句是静态
private const string addproc = "insert into BranchNetwork([bian],[name],[openTime],[contact],[region],[city],[county],[address],[bz],[addTime],[lastEditTime],id) values (@BranchNetwork_bian,@BranchNetwork_name,@BranchNetwork_openTime,@BranchNetwork_contact,@BranchNetwork_region,@BranchNetwork_city,@BranchNetwork_county,@BranchNetwork_address,@BranchNetwork_bz,@BranchNetwork_addTime,@BranchNetwork_lastEditTime,@BranchNetwork_id)";
但都是参数化查询,参数都是传入的
MyParameter[] parameters = {paramDictionary[param_bian]}
parameters[0].Value = item.Bian;
也就是说数据都是传入的,只是方法是静态的,那个SQL语句也是不会改变的,改变的只是输入的参数
补充:.NET技术 , ASP.NET