가능한 중복 :
What's the @ in front of a string for .NET?SQL 명령을 작성할 때 주소 기호 @가 사용되는 이유는 무엇입니까?
이 SQL 명령에 @
가 무엇을하고 있는지? 그 첫 번째와 두 번째 사건은 같은 목적을 수행합니까? 저장 프로 시저의 매개 변수를 선언 할 때
static DataTable StaffsGetProjectIDHRCoordinators(SqlConnection conn, string targetDatabase)
{
try
{
SqlCommand cmd = new SqlCommand(@"
SELECT DISTINCT Staff.*
FROM Staff
INNER JOIN " + targetDatabase.Replace("'", "''") + @".dbo.ProjectHRCoordinator ProjectHRCoordinator
ON Staff.StaffID = ProjectHRCoordinator.HRCoordinatorStaffID
ORDER BY Staff.FName, Staff.LName", conn);
return ExecuteDataTable(cmd);
}
finally
{
if (conn.State != ConnectionState.Closed) conn.Close();
}
}
은 내가 @
기호 만 알고 있어요.
을 포함 할 수있다 다른 곳에서 텍스트를 붙여 넣을 때, 특히는 "죄송합니다보다 안전"채택하고 아주 후한를 뿌린다. .NET은 자리 표시자를 크게 지원합니다. 그것을 사용하십시오. 찾고있는 것은 [축 어적 리터럴 문자열]입니다 (http://msdn.microsoft.com/en-us/library/aa691090%28v=vs.71%29.aspx) - 예제를 참조하십시오. –
그것은 인용 문자열 리터럴로 SQL이나 paramaters와는 아무런 관련이 없습니다. http://msdn.microsoft.com/en-us/library/362314fe(v=vs.71).aspx – Brook
@pst : OP가 그 목적이 무엇인지 물으면, 그 이유는 무엇입니까? 코드 작성자이며 코드의 내용을 이해하려고합니다. – Yuck