#问题现象
在vs里,时行软件调试时,发现getdv得到的DataView.Count=0,感觉结果不对,于是在将select语句复制到sqlserver查询中进行运行,结果如下 :
结果查询到26行数据。出怪事了。
于时开始怀疑是来吧是sqlserver 数据编码不对,但查看数据编码,基本没什么可改动的。
于是在未选择数据库时,直接运行了查询,这次得到了与vs调试相同的结果。
#恍然大悟
原来,在运行查询时,当不选择数据库时,默认在master中查找表中数据。恰好在数据导入sqlserver时,错误的将数据导入到Master中,导致在master中,可以查询到数据。
但后来发现错误将数据导入Master中后,重新建立了zwdb数据库,因此在zwdb中,有相同的数据表。这样在.net 数据存取时,是从zwdb库xmk表中存取数据,发现结果不对是,在sqlserver中建立查询,选取的是默认Master库,查询到了与vs调试程序中不同的数据。
其实,在master中,使用use zwdb;select * from zwdb.dbo.xmk where xmdm like ‘A%’ and flowCode=‘0’ and fzr='张三’ order by xmdm;就能获得正确结果。
在查询数据时,一定要重视所属的库,默认库,这样才能少出错。