错误笔记:在OleDb执行下Access ,程序不报错,但是Update也更新不成功的

简介:

     由于最近一个小项目,用户指定要Access,所以没发,只得Access了。显然采用OleDb那连接。在今天的开发过程中,遇见了一个问题:

 问题:      

         dal层的数据sql采用参数化形式,在Access数据库查询界面执行时候,没有错误,执行正常。但是在程序执行,就会出现程序不报任何错误,但是Update不成功,受影响的行数为0.    

       在我网上查询了许久,http://blog.sina.com.cn/s/blog_4668898b010008io.html OLEDB传递参数给Access要注意的问题)

解决: 

    其实问题病因在于:你的sql里面参数顺序和在oledb参数添加的顺序不一致。ok。我原来的code  注意:UserIdentity的出现位置。

我原来的code:

 注意:UserIdentity的出现位置。

复制代码
代码
     string  sql  =   @" update UserInfo set 
[RoleID] = @RoleID,
[UserName] = @UserName,
[PWD] = @PWD,
[Email] = @Email
where [UserIdentity] = @UserIdentity 
" ;

            DbCommand cmd 
=  dbHelper.GetSqlStringCommond(sql
                );
            dbHelper.AddParameterCollection(cmd,
                
new  OleDbParameter( " UserIdentity " , user.UserIdentity), // 注意UserIdentity放置位置
                 new  OleDbParameter( " RoleID " , user.RoleID),
                
new  OleDbParameter( " UserName " , user.UserName),
                
new  OleDbParameter( " PWD " , user.PWD),
                
new  OleDbParameter( " Email " , user.Email)
                 
                );
复制代码

      
修改后的Code(运行成功):

 

复制代码
代码
string  sql  =   @" update UserInfo set 
[RoleID] = @RoleID,
[UserName] = @UserName,
[PWD] = @PWD,
[Email] = @Email
where [UserIdentity] = @UserIdentity 
" ;

            DbCommand cmd 
=  dbHelper.GetSqlStringCommond(sql
                );
            dbHelper.AddParameterCollection(cmd,
                
                
new  OleDbParameter( " RoleID " , user.RoleID),
                
new  OleDbParameter( " UserName " , user.UserName),
                
new  OleDbParameter( " PWD " , user.PWD),
                
new  OleDbParameter( " Email " , user.Email),
                
new  OleDbParameter( " UserIdentity " , user.UserIdentity) // 注意UserIdentity放置位置
                 
                );
复制代码

 


本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/archive/2010/09/08/1821505.html,如需转载请自行联系原作者

目录
相关文章
|
定位技术 开发工具 Android开发
Leaflet开发入门
Leaflet开发入门
557 0
|
Java Maven 数据安全/隐私保护
Maven - 发布JAR包到Maven远程中央仓库(五)
Maven - 发布JAR包到Maven远程中央仓库(五)
1167 0
Maven - 发布JAR包到Maven远程中央仓库(五)
|
8月前
|
机器学习/深度学习 人工智能 DataWorks
《AI牵手DataWorks,实时数据分析“一路狂飙”》
在大数据时代,数据是企业的生命线,实时数据分析能力至关重要。阿里巴巴的DataWorks作为强大的数据中台工具,结合人工智能(AI)技术,彻底改写了实时数据分析格局。传统方法面临数据量增长、复杂结构及缺乏自适应能力等挑战,而AI通过机器学习和深度学习算法,实现了智能预警、个性化推荐和实时风险评估等应用场景,显著提升了数据分析的速度和精度。成功案例显示,某互联网公司引入AI赋能的DataWorks后,用户活跃度提升30%,购买转化率提高20%。未来,AI与新兴技术的融合将进一步推动实时数据分析的发展。
357 6
|
9月前
|
人工智能 监控 数据安全/隐私保护
AI视频监控在大型商场的隐私保护技术
为保障隐私合规,商场采取数据加密与匿名化处理,防止敏感信息泄露;同时通过透明性声明和合法授权,确保顾客知情并同意监控措施。技术手段包括加密算法保护、去除身份识别细节,并在显眼位置张贴隐私政策,采用电子屏幕、语音提示或二维码获取顾客同意,确保监控行为合法合规。
311 0
带你读《实分析(原书第4版)》之三:Lebesgue测度
本书是一部实分析方面的经典教材,主要分三部分,第壹部分为经典的实变函数论和经典的巴拿赫空间理论;第二部分为抽象空间理论,主要介绍分析中有用的拓扑空间以及近代巴拿赫空间理论;第三部分为一般的测度和积分论,即在第二部分理论基础上将经典的测度、积分论推广到一般情形。
|
设计模式 Java 测试技术
【Selenium使用误区】Iframe元素定位失败:避免误提GitHub Issue的技巧
本文分享了作者在使用Selenium进行UI自动化测试时遇到的一个常见问题:在模拟登录163邮箱的过程中,元素定位失败,原因是没有正确地定位到iframe内的元素。文章通过分析问题原因、提供解决方案和附录代码,指导读者如何避免类似的错误,并强调了在UI自动化测试中准确定位页面元素的重要性。
275 1
|
SQL 监控 Oracle
DynaTrace应用监控工具安装说明V1.0
DynaTrace是一款应用监控工具,通过安装服务器端、客户端和代理,可以监测应用系统性能并快速定位故障,同时提供用户响应时间和事务处理过程的详细报告。
304 0
|
云安全 机器学习/深度学习 人工智能
六个优秀漏洞管理工具
这些年来,不仅漏洞管理发生了相当大的变化,企业安全团队发现并不断修补的系统也发生了变化。如今,有系统内部部署、物联网设备、公有和私有云,以及更多的定制应用程序。漏洞管理系统不再只关注网络和私有托管应用程序。现在,他们必须评估所有这些系统,找出漏洞,并帮助企业安全团队做出更好的补救决策。
2277 1
|
机器学习/深度学习 搜索推荐 算法
【机器学习中的矩阵分解】LU分解、QR分解、SVD分解
Singular Value Decomposition。 SVD是一种基于矩阵分解的,提取信息的强大工具,能够发现数据中的潜在模式。应用领域比如:
693 0
【机器学习中的矩阵分解】LU分解、QR分解、SVD分解
|
vr&ar Python
Python:PDB文件中原子和残基重新编号
Python:PDB文件中原子和残基重新编号
955 0
Python:PDB文件中原子和残基重新编号