我试图在C#中编写一个基本查询,其中包括使用'%'修饰符.
这是我的查询:
SELECT userName
FROM tblUserInformation
WHERE userName LIKE %@userNameQuery%
Run Code Online (Sandbox Code Playgroud)
当我运行时,我得到一个SQL异常说
@userNameQuery附近有语法错误.
我之前遇到过与SQL查询和C#sql查询字符串类似的差异,但我不确定如何解决这个问题.我试过了:
SELECT userID
FROM tblUserInformation
WHERE userName LIKE '%'@userNameQuery'%'
Run Code Online (Sandbox Code Playgroud)
下面的一个不会抛出异常但不返回任何结果.它应该是因为我可以直接对数据库运行相同的查询,并返回许多结果.
SELECT userName
FROM tblUserInformation
WHERE userName LIKE '%@userNameQuery%'
Run Code Online (Sandbox Code Playgroud)
我这样做了吗?
此外,@userNameQuery正确填写SqlParameter并且是正确的数据类型等.尝试过上面和第二个工作(返回没有结果)我确信我的查询字符串中没有语法错误(额外的分号或缺少") .
感谢您的时间!
在 C++ 中,为什么不int long long unsigned x;产生任何语法错误,因为unsigned和long long是必须在数据类型之前编写的修饰符?
这个问题更多是出于好奇。
我所说的修饰符是指在声明类之前添加的关键字。
例如
//1 2 3
public abstract partial class Foo
{
}
Run Code Online (Sandbox Code Playgroud)
这有3个修饰语public,abstract和partial。
从这个问题的角度来看,零修饰符类似于
class Foo
{
}
Run Code Online (Sandbox Code Playgroud)
声明类名之前可以拥有的最大有效修饰符数是多少?
除了使代码更整洁或保持c#的面向对象状态之外,使用私有/受保护而不是公共的方法真的有意义吗?