ado.net里,参数名称对大小写是否敏感?

问题描述

https://msdn.microsoft.com/zh-cn/library/vstudio/system.data.sqlclient.sqlparameter(v=vs.100).aspx里备注说参数名称不区分大小写。但我代码里,如果sql语句有@cid,参数名称是@CID,提示都是必须声明标量变量。

解决方案

解决方案二:
sql语句和字段大小写不敏感,但是占位符参数,应该是敏感的,尽量一致吧
解决方案三:
引用1楼zhi_ai_yaya的回复:

sql语句和字段大小写不敏感,但是占位符参数,应该是敏感的,尽量一致吧

sql的字段大小写敏感和数据库本身的排序规则有关的。我现在就是奇怪占位符到底敏感不敏感,msdn上说不敏感,我代码里敏感,我用的是一个第三方的库,开发人的人说正常可以用,但我用不了,不知道问题出在哪儿,和版本或者配置有关?
解决方案四:
1、你是用SQLServer的话请看内容,否则直接跳到第4点http://blog.csdn.net/rxr1st/article/details/21799332、你可以用下面的SQL语句,确认一下结果SELECTSERVERPROPERTY('collation');3、修改方案在下面链接里面讨论已经非常充分了http://bbs.csdn.net/topics/3500893334、如果不是,能否把SQL语句详细贴出来看看
解决方案五:
再补充一下,是否是存储过程?
解决方案六:
c#ado.net对参数不区分大小写,但是建议按照定义的大小写一直来书写,包括参数的顺序
解决方案七:
引用3楼richer的回复:

1、你是用SQLServer的话请看内容,否则直接跳到第4点http://blog.csdn.net/rxr1st/article/details/21799332、你可以用下面的SQL语句,确认一下结果SELECTSERVERPROPERTY('collation');3、修改方案在下面链接里面讨论已经非常充分了http://bbs.csdn.net/topics/3500893334、如果不是,能否把SQL语句详细贴出来看看

我一开始也怀疑是服务器排序规则,因为服务器排序是二进制排序的,区分大小写,就另外建了一个数据库,建立的时候选了不区分的排序规则,但结果还是一样,但我没有另外找数据库,不知道默认是不是还有关系,存储过程和参数名称是不是只按照第一次安装的情况?DimsqlAsString="selectCID,hy_cname,hy_ctype,hy_csort,hy_byzd1,hy_byzd2,hy_byzd3,hy_byzd4fromhy_categorywhereCID=@cid"DimconnstrAsString="............"Dimsqlparam(0)AsSqlParametersqlparam(0)=NewSqlParameter("@CID",SqlDbType.VarChar)sqlparam(0).Value="00020001"就是,sql里是@cid,参数是@CID,我一直认为参数化sql是.net实现的,如果ado.net是把参数传递给数据库去实现的,到确实有可能是大小写敏感了
解决方案八:
没注意过这事情,一般都是跟存储过程或者SQL文本里面一致的Parameter
解决方案九:
保持一致能确保万无一失。但刚刚写了个Demo试了试,确实不区分的啊
解决方案十:
引用楼主hztltgg的回复:

https://msdn.microsoft.com/zh-cn/library/vstudio/system.data.sqlclient.sqlparameter(v=vs.100).aspx里备注说参数名称不区分大小写。但我代码里,如果sql语句有@cid,参数名称是@CID,提示都是必须声明标量变量。

msdsn指的是,执行存储过程,构造SqlPaameter的时候,不区分大小写。//比如,存储过程的参数是@CategoryName,你这里写成@categoryName也无妨SqlParameterparameter=newSqlParameter();parameter.ParameterName="@CategoryName";parameter.SqlDbType=SqlDbType.NVarChar;parameter.Direction=ParameterDirection.Input;parameter.Value=categoryName;

解决方案十一:
这个不敏感呀,

时间: 2024-10-29 07:43:15

ado.net里,参数名称对大小写是否敏感?的相关文章

ado net-ado.net里,参数名称对大小写是否敏感?

问题描述 ado.net里,参数名称对大小写是否敏感? https://msdn.microsoft.com/zh-cn/library/vstudio/system.data.sqlclient.sqlparameter(v=vs.100).aspx 里备注说参数名称不区分大小写. 但我代码里,如果sql语句有@cid,参数名称是@CID,提示都是必须声明标量变量. 解决方案 应该是大小写不敏感的.你的完整代码有么? 解决方案二: Dim sql As String = " select CI

Spring Mvc Url和参数名称忽略大小写

在开发过程中Spring Mvc 默认 Url和参数名称都是区分大小写的 比如:www.a.com/user/getUserInfo?userId=1  www.a.com/user/getuserInfo?userId=1     www.a.com/user/getUserInfo?userid=1             www.a.com/user/getuserinfo?userid=1  这些都认为不同的地址和参数,在实际中用户根本不区分这些,所以我们要忽略大小写 URL忽略大小写

将现有MySQL数据库改为大小写不敏感

用过MySQL的应该都会注意到,默认情况下,Linux下安装的MySQL是大小写敏感的,也就是说Table1和table1可以同时存在.而Windows下的MySQL却是大小写不敏感的,所有表名和数据库名都会变成小写. 对于怎么启用或者停用MySQL数据库的大小写敏感,这个网上随便都能找到,就是改改参数lower_case_table_names,然后重启即可. 但是,如果我们的数据库中已经有了多个区分大小写的数据库,现在要改为不区分大小写的,那么就会报错:Table 'databasename

鼠标事件里参数怎么拿不到啊。

问题描述 鼠标事件里参数怎么拿不到啊. 请大神帮忙看看ArrayList q为什么在public MyJFrame()方法里拿不到啊??? import java.awt.*; import java.awt.event.*; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.

htaccess-如何实现php路由分发 方法变量自定义参数名称以及个数

问题描述 如何实现php路由分发 方法变量自定义参数名称以及个数 比如有一个方法 public function a($b,$c,$d){ echo $b,$c,$d; } 要输入的链接是.......&b=1&c=2&d=3 然后输出123 这个该在.htaccess怎样写

ADO.NET 表值参数请教!加急!!!!!!!!

问题描述 最近有一项目,sqlserver版本是2012原来程序中用ADO.NET表值参数的地方,现在都报错了错误内容:"列.参数或变量@t:找不到数据类型"原先只在sql2008R2环境上运行,是正常的请教各位大大,是何原因造成的? 解决方案 解决方案二:直接把sql贴下吧,这是sql报的异常解决方案三:引用楼主oreoconansisu的回复: 最近有一项目,sqlserver版本是2012原来程序中用ADO.NET表值参数的地方,现在都报错了错误内容:"列.参数或变量@

spring mvc aop获取controller中的方法中的参数名称

问题描述 spring mvc aop获取controller中的方法中的参数名称 //配置切入点,该方法无方法体,主要为方便同类中其他方法使用此处配置的切入点 //"execution(* com.nong.aop.*.controller..*.*(..))" /*@Pointcut("execution(* com.nong.aop.*.controller.*(..))") public void aspect(){} // 配置前置通知,使用在方法aspe

MYSQL查询大小写是否敏感问题分析

mysql数据库在做查询的时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的.    1. 什么是字符集和校验规则? 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则.任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则.要想列出一个字符集的校对规则,使用SHOW COLLATION语句. 校对规则一般有这些特征: 两个不同的字符集不能有相同的校对规则. 每个字符集有一个默认校对规则.例如

亲密接触xml(4)--- XML对大小写是敏感的

xml|大小写   XML对大小写是敏感的   而在XML中,所有的元素都必须要有一个结束标记,如:       < p>This is a paragraph< /p>    < p>This is another paragraph< /p>       注意:从前面的例子中你可能已经注意到了,XML声明没有结束标记.这并不是一个错误.因为声明并不是XML文档的一部分.它不是一个XML元素,因此它不能有结束标记.       XML对大小写是敏感的,这一