可能重複:
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/zh-cn/library/aa691090%28v=vs.71%29.aspx) - 請參閱示例。 – 2011-09-02 19:19:22
這是一個帶引號的字符串,它與sql或paramaters無關。 http://msdn.microsoft.com/en-us/library/362314fe(v=vs.71).aspx – Brook
@pst:如果操作系統詢問它的用途是什麼,它就是因爲他/她不是該代碼的作者,並希望瞭解它在做什麼。 – Yuck