c# 操作sqlserver新增数据成功,但查询时却查不到!
问题描述:
如图所示,业务逻辑为查询对应编码的数据是否已存在,不存在则新增。或者编码已存在,但名称不一致,则进行更新。但在具体的操作过程中,新增数据到数据库已成功,在数据库查询新增的数据也已经存在,但在做同样的操作时,却会忽略或者说没有找到刚刚新增的数据,从而会新增或修改和刚才同样的数据。接触C#和SQL SERVER的时间的都不长,是否是存在着数据库缓存问题,还是在程序操作过程中没有进行数据库更新操作(或者说成重连数据库),这个问题该如何解决?大神们
答
代码不全无法判断,提供一个排查方法 1、代码中在脚本执行位置加入日志,2、加入try cach 3、在运行程序时打开SQL Server Profiler查看sql收到脚本
答
绝对是你代码的问题,你把这个sql写到日志执行下 说不定是多了个空格少了个空格的小问题。
另外建议使用TSQL的if exists
答
你只有一个图,代码没有贴完整,怎么判断呢
你说你新增数据成功,何以见得?没有报错?
sqlAdd只是查询语句,下面sqlCommand.Execute(sqlAdd)了没有,并且此时的sqlAdd是插入的语句么?没有报错?
缓存应该不存在。