我的代码效果很好。但我希望有一个变量来改变它在运行时的值。我想在C#中输出xml文件。
declare @MySearch nvarchar(50)
set @MySearch='بودان'
SELECT ID, Family
FROM Table_1
where freetext(Family, @MySearch, LANGUAGE 1025)
FOR XML RAW ('Employee'), ROOT ('Employees'), ELEMENTS XSINIL;
编辑:
我运行此代码并收到此错误:
空或全文谓词。
我希望xml
中的输出C#
文件。
declare @MySearch nvarchar(50)
--set @MySearch=N'بودان'
SELECT ID, Family
FROM Table_1
where freetext(Family, @MySearch, LANGUAGE 1025)
FOR XML RAW ('Employee'), ROOT ('Employees'), ELEMENTS XSINIL;
答案 0 :(得分:1)
" N"有所作为,你需要两次......
试试这个:
DECLARE @v1 VARCHAR(10)='بودان';
DECLARE @v2 VARCHAR(10)=N'بودان';
DECLARE @nv1 NVARCHAR(10)='بودان';
DECLARE @nv2 NVARCHAR(10)=N'بودان';
SELECT @v1,@v2,@nv1,@nv2;
结果
????? ????? ????? بودان
只有最后一次尝试才会显示你需要的东西......
原因:正常字符串SET @v='MyString'
未被处理为UNICODE
仅将变量声明为NVARCHAR
也不足以存储像N'SomeText'
这样的unicode文字。
经过长时间的讨论后,解决问题的最后一句是:
当然,您必须与数据库连接才能执行此操作!
您希望在数据库中使用什么,首先需要打开连接。