我有快速搜索的代码
Tmp = "";
MAK = "";
DES = "";
Cmd.CommandType = CommandType.TableDirect;
Cmd.CommandText = "Ham";
Cmd.IndexName = "B";
Cmd.SetRange(DbRangeOptions.Match , new object[] { txtMa.Text }, null);
SqlCeDataReader read = Cmd.ExecuteReader();
while (read.Read())
{
Tmp = read[2].ToString();
MAK = read[0].ToString();
DES = read[1].ToString();
}
read.Dispose();
if (Tmp == "")
{
return false;
}
else
{
txtDes.Text = DES;
return true;
}
效果很好 - 但问题是
当我搜索ABC
时,当我搜索abc
时,我获得相同的搜索结果
如何分开它们?
提前谢谢
答案 0 :(得分:1)
SQL搜索的区分大小写是数据库的设置。
特别是对于SQL Compact Edition,您需要确保在创建时使用启用了排序规则的3.5 SP1 +数据库,否则应用这些更改:
如果您指的是3.5 RTM 创建文件为旧文件,然后你 有一个选项:使用服务器资源管理器 Visual Studio或Object Explorer的 SSMS: 1.连接到文件 2.选择文件并右键单击它。选择数据库属性。 3.在“数据库属性”对话框的“缩小并修复”窗格中,您可以 将区分大小写的功能更改为 在Advanced的帮助下真实 属性对话框由激活 高级按钮。附:你不得不 执行紧凑或修复 操作
对于3.1或以前的SQL CE文件 版本,你必须遵循相同的 程序但必须先升级 该文件为3.5 SP1。
来源:http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/649f10a8-6880-46c4-82db-fb52b29614b9
我建议阅读该源代码,因为它会产生重要信息,例如区分大小写如何破坏向后兼容性。