c# - SQL + Cyrillic 支持 + 参数化查询 + 多项选择

标签 c# sql-server tsql unicode ado.net

到目前为止我有这段代码:

string userInput = Textbox1.text;
string query = "SELECT * FROM Books WHERE BookName = @Title";
SqlConnection con = new SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand(query, con); 
cmd.Parameters.AddWithValue("@Title", userInput);

我需要这个查询来支持西里尔字符,并使用 N'' 来支持西里尔字符:

SELECT * FROM Books Where BookName = N'UserInput%'  

我也需要“%”,因为我想找到与 UserInput 匹配的所有书籍。

最佳答案

这没有经过测试,因为我不使用 .NET,但我可能会这样做。

string UserInput = Textbox1.text;
string query = "SELECT * FROM Books WHERE BookName like @Title";
SqlConnection con = new SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand(query, con); 
cmd.Parameters.AddWithValue("@Title", UserInput+"%");

在查询中将 = 更改为 like,将 % 添加到用户输入中,并确保表中 BookName 的数据类型Books 是 nvarchar

关于c# - SQL + Cyrillic 支持 + 参数化查询 + 多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280182/

相关文章:

c# - 检测不受控制的点击

c# - Prism 6.1 ViewModelLocator 没有实例化我的 ViewModel

sql-server - 在 SQL 中合并和修改 XML

sql-server - 计算 SQL Server 存储过程中删除的行数

c# - 深度优先搜索永远不会达到目标状态

c# - 查看包 RuntimeBinderException : 'object' does not contain a definition

sql-server - SQL Server 中时态表之间的数据同步

sql-server - 为什么 SQL Server 在事件日志中每秒两次显示 "Starting Up Database"?

SQL Server 如果不存在则插入

sql - T-SQL 优化删除多条记录