崔文远 Troy Cui 老崔先生的上海生活、技术博客

困惑了2年多的C#问题,终于解决了

翻了一下QQ聊天记录,其实这个问题也是困扰吉日嘎拉的问题,2015年我曾经就此问题跟他交流过。

在更新语句中和条件中有相同的参数问题,造成报错:

 The variable name '%.*ls' has already been declared. Variable names must be unique within a query batch or stored procedure.  


曾经我是先判断条件语句,获取到主键ID,然后再根据主键ID为条件进行更新,多了一次数据库读取,折中处理了好几年。

这次再写类似的程序,实在觉得这么搞太费劲,索性花了几个小时,最终的思路就是即便是同名的字段,条件语句的参数自动改名:增加后缀或前缀。

这么一改,条件的参数就自动增加了后缀Where,就跟更新字段的参数不重名了。当然了你也可以自定义自己的后缀或者前缀。

最终时隔2年多,将此更改跟吉日嘎拉再次沟通,也解决了他的困惑,皆大欢喜。


有在用吉日嘎拉底层DotNet.Common数据读写层的朋友,请拿去不谢。

留言列表
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。