clsConst.POINT_DATA_TABLE为一个DataTable,包含编号为1和①的记录各一条,如下代码
s="①";
string strSql = " 编号='" + s + "'";
DataRow[] drs = clsConst.POINT_DATA_TABLE.Select(strSql);
在.Net3.5下编译drs 包含一条记录,结果正确;
在.Net4.0下编译drs 包含2条记录(1、①的全查出来了),不正确!!
Why?
s="①";
string strSql = " 编号='" + s + "'";
DataRow[] drs = clsConst.POINT_DATA_TABLE.Select(strSql);
在.Net3.5下编译drs 包含一条记录,结果正确;
在.Net4.0下编译drs 包含2条记录(1、①的全查出来了),不正确!!
Why?
解决方案 »
- c# 获取用户所属的用户组
- 谁能为我解释一下这段代码?
- VS2005表格表格格式问题
- 急。。。父窗体当中获取当前的子窗体?
- GZipStream压缩Java解压的问题
- 关于advapi32.dll中LogonUser函数
- 一个web项目和其他几个支持的分层项目,生成后有的项目的dll文件会自动进到web项目的bin目录下,有的项目的又不会?
- 如何在windowsform里把按钮的单击事件设成弹出一个网页-急
- 求教一个C#引用C++DIl 做接口的问题,高手请进
- 无法在web服务器上启动调试,WEB服务器为能找到请求资源
- 【求助】【急】怎么样用 C# 将SQLServer 里的数据即时塞到 Oracle 数据库里?
- C# winform中dataGrid设置问题
{
DataTable dt = new DataTable(); dt.Columns.Add("ID", Type.GetType("System.Int32"));
dt.Columns.Add("Name", Type.GetType("System.String")); DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = Server.UrlEncode("1");
dt.Rows.Add(dr); DataRow dr1 = dt.NewRow();
dr1["ID"] = 2;
dr1["Name"] = Server.UrlEncode("①");
dt.Rows.Add(dr1); return dt;
} 这样1还是1,①就变成 %e2%91%a0 了
读的时候 Server.UrlDecode("%e2%91%a0")
INSERT @A SELECT '1' UNION ALL SELECT '①'
SELECT * FROM @A WHERE ID='1'DECLARE @B TABLE(ID VARCHAR(10) COLLATE Chinese_PRC_CI_AS)
INSERT @B SELECT '1' UNION ALL SELECT '①'
SELECT * FROM @B WHERE ID='1'/*(所影响的行数为 2 行)ID
----------
1
①(所影响的行数为 2 行)
(所影响的行数为 2 行)ID
----------
1(所影响的行数为 1 行)你可以指定你的排序规则是区分重音.就不会了
INSERT @A SELECT '1' UNION ALL SELECT '①'SELECT * FROM @A WHERE ID='1' COLLATE Chinese_PRC_CI_AS
SELECT * FROM @A WHERE ID='1' COLLATE Chinese_PRC_CI_AI/*
(所影响的行数为 2 行)ID
----------
1(所影响的行数为 1 行)ID
----------
1
①(所影响的行数为 2 行)
类似这样的写法.