asp.net+sql sever 同一个页面中的2个方法返回的datatable,结果2个datatable的数据会窜,当然只有在高并发或频繁访问的时候出现,大伙有没有遇到过这情况
具体说明:.cs文件
page_load{
fangfa1();
fangfa2();
}
void fangfa1(){
datatable=“select userid from kww_user”;
return datatable;
}
void fangfa2(){
datatable=“select nickname from kww_user”;
return datatable;
}
结果就是方法1返回的是方法2的数据 方法2返回的是方法1的数据,便于说明,我就简单代码描述,确认代码没问题,因为只有高并发或频繁访问的时候产品,求大神解答
1.void是没有返回值的。
2.代码中没datatable的定义,不知道是不是静态。
1、不好意思 手误 应该是有返回值string的 fangfa1是取出userid的值比如:123456 方法2是取出昵比如:我是昵称 SQL是我随便写的 需要加个ID的
2、关于datatable是不是静态影响的 我测试了下 动态下也会出这个问题
能给个QQ交流下么 我的1609170062
你这样写肯定出错啊 你这样写是一个热情况下正常,但是多人的时候肯定报错.
把两个合并成一个方法,每一个程序都有返回机制,你的由于数据超额或者高并发导致的东西都在一个进程里面去完成,否则的话很容易造成一个现象就是数据不规范。你所谓的串起来是因为另起进程的原因造成的
你没把两个方法的返回值放到两个变量中啊!
好的设计应该是用同一个方法查询
page_load{
datatable1 = fangfa("select userid from kww_user");
datatable2 = fangfa("select nickname from kww_user");
}
你没把两个方法的返回值放到两个变量中啊!
好的设计应该是用同一个方法查询
page_load{
datatable1 = fangfa("select userid from kww_user");
datatable2 = fangfa("select nickname from kww_user");
}
你这样写也行 fangfa是执行连接数据库查询的功能对吧 那么最后出现的问题是 datatable1的列是nickname datatable2的列是userid