为什么在asp.net中sql查询前要写@?

发布于 2024-09-25 08:01:04 字数 303 浏览 5 评论 0原文

假设我们要从数据库中选择数据,然后为此编写查询。

示例:

SqlConnection con=new SqlConnection(Connetion name)
string selectPkId = @"SELECT PK_ID FROM TABLE"
SqlCommand cmd=new SqlCommand(selectPkId ,con);

所以,我的问题是为什么我们基本上在 sql 查询之前使用 @。如果我之前不使用 @ 那么它再次工作正常(不会给出任何错误),那么需要使用“@”吗?请告诉我。

Suppose we want to select the data from the database then we write the query for that .

Example:

SqlConnection con=new SqlConnection(Connetion name)
string selectPkId = @"SELECT PK_ID FROM TABLE"
SqlCommand cmd=new SqlCommand(selectPkId ,con);

So,my question is that why we basically use @ before the sql query.If I don't use @ before that then it again work fine (does not give any error), then what is need of using "@" ? Please tell me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不乱于心 2024-10-02 08:01:04

这是一个逐字字符串。这意味着保留换行符并忽略转义序列:

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello \t world";               // hello     world
string d = @"hello \t world";               // hello \t world
string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt

MSDN 参考:字符串文字

当您希望保留转义序列而不必双重转义它们时,这会派上用场,例如:

string sql = @"UPDATE table SET comment='Hello\nWorld'"
// equivalent to:
string sql = "UPDATE table SET comment='Hello\\nWorld'"

当然,这是一个非常简单的示例,但大多数时候它会给您一个更具可读性的字符串。

It's a verbatim string. This means newlines are preserved and escape sequences ignored:

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello \t world";               // hello     world
string d = @"hello \t world";               // hello \t world
string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt

MSDN Reference: String Literals

This comes in handy when you want escape sequences to be preserved without having to double escape them, eg:

string sql = @"UPDATE table SET comment='Hello\nWorld'"
// equivalent to:
string sql = "UPDATE table SET comment='Hello\\nWorld'"

Of course this is a very simple example, but most of the times it will give you a more readable string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文