以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于一个sql搜索时语言的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42981)

--  作者:zenbu
--  发布时间:2013/11/27 15:04:00
--  关于一个sql搜索时语言的问题
代码如下:

Dim lx As WinForm.ComboBox = e.Form.Controls("查找类型")
Dim nr As WinForm.TextBox = e.Form.Controls("查找内容框")

If lx.Value = "韩文名" Then
    DataTables("产品目录_table1").Fill("Select [_Identify],[韩文名],[产品编号] From {产品目录} where 韩文名 like \'%" & nr.value & "%\'","net“,True)
End If
If lx.Value = "中文名" Then
    DataTables("产品目录_table1").Fill("Select [_Identify],[中文名],[产品编号] From {产品目录} where [中文名] like \'%" & nr.value & "%\'","net",True)
End If

问题:
如果搜索的文字是中文,英文,数字的话都没有问题,但是采用的是韩文的话无法搜索的任何信息。
sql服务器版本是2005的,数据类型是nvarchar(10),nvarchar(50)
例如要搜索到的内容是 【a?????50键盘】, 如果搜索的是a,或是50,或是键盘都可以搜索到,但是用韩文就无法搜索

如何才能解决无法使用韩文搜索的问题呢?


--  作者:Bin
--  发布时间:2013/11/27 15:11:00
--  
应该是数据库编码问题吧,这个就要找百度了,我也不熟悉.


--  作者:zenbu
--  发布时间:2013/11/27 15:45:00
--  
Dim lx As WinForm.ComboBox = e.Form.Controls("查找类型")
Dim nr As WinForm.TextBox = e.Form.Controls("查找内容框")

If lx.Value = "韩文名" Then
    DataTables("产品目录_table1").Fill("Select [_Identify],[韩文名],[产品编号] From {产品目录} where [韩文名] like N\'%" & nr.value & "%\'","nettown",True)
End If
If lx.Value = "中文名" Then
    DataTables("产品目录_table1").Fill("Select [_Identify],[中文名],[产品编号] From {产品目录} where [中文名] like \'%" & nr.value & "%\'","nettown",True)
End If

非常感谢您, 加了一个前置N就解决了问题