ASP.NET MVC

[ASP.NET MVC] - DB 쿼리문에서 @ $ 사용하기(매우 간편)

Riucc 2019. 9. 18. 15:42

○ DB 쿼리문에서 @ $ 사용하기(매우 간편) 

 

DB 쿼리문에서 @ 와 $ 그리고 $@ 같이 사용하여 매우 간편하게 쿼리를 작성할 수 있다

예시는 아래와 같다


1. @ 만 사용하는 경우

     - 줄바꿈을 해도 인식하여, 개발자가 쉽게 이해할 수 있다(쿼리문이 길다면?)

1
2
3
4
cmd.CommandText = @"SELECT [Version] From dbo.Test
                    WHERE ID = " + id + "ORDER BY [Version] DESC";
 
 
cs


2. $ 만 사용하는 경우

     - 줄바꿈은 인식을 하지 않으며, 변수를 쉽게 '{변수명}' 이런식으로 대입이 가능하다(+변수명 x)

1
cmd.CommandText = $"SELECT [Version] From dbo.Test WHERE ID = {id} 
ORDER BY [Version] DESC";
cs


3. @ 와 $ 를 동시에 사용하는 경우

     - 줄바꿈도 인식하고, 변수를 쉽게 대입할 수 있다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public List<Decimal> GetVersionList(string id)
{
      List<Decimal> TVersions = new List<Decimal>();
 
      using (db)
      {
          db.Open();
     
          SqlCommand cmd = new SqlCommand();
 
          cmd.Connection = db;
          cmd.CommandText = $@"SELECT [Version] FROM dbo.Test 
                               WHERE TermsID = {id}
                               ORDER BY [Version] DESC";
 
          SqlDataReader rdr = cmd.ExecuteReader();
 
          while (rdr.Read())
          {
               decimal termVersion = Convert.ToDecimal(rdr["Version"]);
               TVersions.Add(termVersion);
          }
       }
       return TVersions;
}
cs