标题:SqlParameter的参数绑定问题
只看楼主
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
结帖率:78.99%
已结贴  问题点数:10 回复次数:3 
SqlParameter的参数绑定问题
请问你一下:【代码如下】
            childrenId="0_";
            SqlParameter[] sqlParms = new SqlParameter[1];
            //第一种参数绑定方法
            sqlParms[0] = new SqlParameter("@ChildrenId", SqlDbType.VarChar, 32);
            sqlParms[0].Value = childrenId;
            //第二种参数绑定方法(数据库类型:默认为SqlDbType.NVarChar)
            sqlParms[0] = new SqlParameter("@ChildrenId", childrenId);
            string sqlStr = "select ProductsName from ProductsTreeNode where ChildrenId like @ChildrenId";
我的数据库ChildrenId 字段是varchar 类型的,两种不同的参数绑定方法有截然不同的结果。第一种能返回所有符合条件记录,第二种只能返回最后一个符合条件的记录。
请问一下这是为什么啊???帮帮忙~~~~~~~~~~~~
搜索更多相关主题的帖子: 参数 SqlParameter 绑定 
2010-06-13 11:06
ghl2312
Rank: 4
等 级:业余侠客
威 望:2
帖 子:208
专家分:226
注 册:2008-7-10
得分:5 
varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符。

举个例子:
insert a select '木子a'
--- 存储长度为5个字节,余下的3个字节全部释放
insert a select '木神易
----存储长度为6个字节,余下的2个字节全部释放
---意思是varchar变长字符数据类型与存储数据的实际长度是一致的

nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符。
字节的存储大小是所输入字符个数的两倍,
就是说它是双字节来存储数据的。
如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。

varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题。

-----------------------------------
是不是这个原因呢。

向灰太狼学习
2010-06-13 11:36
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
得分:0 
好像不怎么能说明白问题耶~~~~~~~~
2010-06-15 20:25
saitor
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:5
帖 子:373
专家分:1520
注 册:2009-5-18
得分:5 
结果不一样只能说你调用的代码不一样,否则不可能出现不一样的结果
2010-06-17 22:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-310145-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049086 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved