我正在寻找一个必须在ms sql server中转义的特殊字符列表,但找不到一个和我看到的类似问题建议使用参数化查询的大部分答案..我已经在做但我正在使用的框架对我没有任何逃避.
因此,我想我会尝试一堆,看看哪一个失败....我尝试了一个简单的查询
select * from x where value = '<characters>'
在这样的查询中,我尝试了几乎所有我能在键盘上找到的角色,而且所有这些角色似乎都能正常工作......除了Singe Quote ......那个失败了.
因此,我想知道无效的字符列表,必须在ms sql server - tsql中进行转义,并且不想冒险只是逃避单引号并留下可能导致麻烦的其余部分
感谢您的帮助
我需要实现一个搜索,用户可以输入*作为外卡.他们正在搜索的数据库是SQL服务器.我只想用*替换*:
userInput = userInput.replace('*', '%');
我担心,因为我"手工"这样做,我可能会引入一些错误或安全漏洞.你觉得这样做有什么问题吗?有没有图书馆可以帮我这么做?
我使用Hibernate作为ORM映射器和Criteria API来创建查询,如果它有助于答案.
我已经使用\的escape character用于LIKE运营商.我正在逃避四个角色
1 %2 [  3 ]4_
当我将转义字符作为输入传递时,查询不返回值.我怎样才能使它工作?
数据插入
DECLARE @Text VARCHAR(MAX)
SET @Text = 'Error \\\ \\  C:\toolbox\line 180'
INSERT INTO Account (AccountNumber,AccountType,Duration,ModifiedTime) 
VALUES (198,@Text,1,GETDATE())
码
    static void Main(string[] args)
    {
        string searchValue1 = @"Error \\\ \\  C:\toolbox\line 180";
        string searchValue2 = @"55555";
        string result1 = DisplayTest(searchValue1);
        string result2 =  DisplayTest(searchValue2);
        Console.WriteLine("result1:: " + result1);
        Console.WriteLine("result2:: " + result2);
        Console.ReadLine();
    }}
     private static string DisplayTest(string searchValue)
    {
        searchValue = CustomFormat(searchValue); …嗨,我想知道是否有人知道一些好的网站详细说明了针对.NET Web应用程序的SQL注入的预防.任何资源都会得到很大的评价,谢谢.
SQL在哪里用=语句工作,但LIKE没有解决这个问题吗?
这是确切的代码:
create table zSyn (xField nvarchar(255));
insert into zSyn(xField)
select 'DEVCON 5 Minute Epoxy amber [1:1]';
--Works and returns 1 row:
select * from zSyn
where xField = 'DEVCON 5 Minute Epoxy amber [1:1]';
--Does NOT return any rows:
select * from zSyn
where xField like '%' + 'DEVCON 5 Minute Epoxy amber [1:1]' + '%'