2010-10-01 6 views
1

Предположим, мы хотим выбрать данные из базы данных, тогда мы напишем запрос для этого.Почему мы должны писать @ перед sql-запросами в asp.net?

Пример:

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

Итак, мой вопрос заключается в том, что почему мы в основном используем @ до SQL query.If я не использую @ перед тем, чтобы потом снова работать нормально (не дает никакой ошибки) , то что нужно использовать «@»? Пожалуйста, скажите мне.

ответ

6

Это стенографическая строка. Это означает, что новые строки сохраняются и управляющие последовательности игнорируются:

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 Literals

Это очень удобно, когда вы хотите избежать последовательности должны быть сохранены без необходимости удвоить их избежать, например:

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

Конечно, это очень простой пример, но в большинстве случаев он даст вам более читаемую строку.