2011-07-03 5 views
6

먼저 .. 내 나쁜 영어로 실례합니다. 이해되기를 바랍니다.SQL 명령의 쿼리 문자열 C#

저는 LINQ로 작업하기 위해 regullar입니다. SQL은 저에게 새로운 것입니다.

난 다음 일을하기 위해 노력하고있어 :

public string niceMethod() 
{ 
    SqlConnection connection = new SqlConnection("Data Source=*******;Integrated Security=False;"); 
    string commandtext = "SELECT bla FROM items WHERE main = 1"; 
    SqlCommand command = new SqlCommand(commandtext, connection); 
    connection.Open(); 
    string tDate = (string)command.ExecuteScalar(); 
    connection.Close(); 
    return tDate; 
} 

내가 예를 들어 페이지가 : items.aspx?nID=144

것은 내가 할 수있는 방법을 SELECT 명령이 될 것이라고 전 C에 # 다음 방법을 쿼리 문자열을 사용하면 "항목"테이블의 주소에 표시되는 ID (nID)에 따라

값이 적용됩니까? id, title, bla, main.

+0

왜 일부 ORM을 사용하지 않습니까? 그런 다음 LINQ를 사용할 수 있습니다. – svick

답변

6

이 같은 것을보십시오 :

int nID = int.Parse(Request.QueryString["nID"].ToString()); 
niceMethod(nID); 

public string niceMethod(int nID) 
{ 
    using (var conn = new SqlConnection("Data Source=server;Initial Catalog=blah;Integrated Security=False;")) 
    using (var cmd = conn.CreateCommand()) 
    { 
     conn.Open(); 
     cmd.CommandText = @"SELECT bla, id, title FROM items WHERE main = @nID"; 
     cmd.Parameters.AddWithValue("@nID", nID); 
     string tDate = cmd.ExecuteScalar().ToString();    
     return tDate; 
    } 
} 
5

이것을 시도해보십시오 (Request.QueryString["nID"] ?? "0").ToString()

에주의를 당신이 늘 때 예외를 얻을 수 있도록 정말 importent의

표는 예를 들어 디자인을 가지고 검색어가 없습니다.