2012-10-05 2 views
2

이 대부분 나 C 번호를 (내가 파이썬, PHP와 자바 스크립트를 알고 있지만 나는 C#을 새로운 해요)C# 및 MySQL을 - 문자열 교체

그것은 또한 내가 여기 해석하려고 MySQL을 할 수있다 읽으려고한다 . 나는 sql_query 값 섹션 수단의 ?가 (또는 변수를 결정하는 C#을 방법은 무엇인가 내가 아니에요 것을 무엇인지에 대해 궁금

sql_query = "insert into peer_review_info " + 
      " (review_id, emp_id, comments_positive, comments_negative)" + 
      " values(?review_id, ?employeeid, ?strength, ?weakness) "; 
    myCommand = new MySqlCommand(sql_query, connection);    
    Trace.Write("strength = ", strength); 
    Trace.Write("areaofimprovement = ", areaofimprovement); 
    myCommand.Parameters.Add(new MySqlParameter("?review_id", ViewState["review_id"].ToString())); 
    myCommand.Parameters.Add(new MySqlParameter("?employeeid", ViewState["employeeid"].ToString())); 
    myCommand.Parameters.Add(new MySqlParameter("?strength", strength)); 
    myCommand.Parameters.Add(new MySqlParameter("?weakness", areaofimprovement)); 

을 :

나는이 부분의 코드를 가지고 MySQL 구문을 알고 있음).

나는이 섹션에 대한 나의 이해가 정확한지 궁금해한다. 그것은 다소 SQL 삽입 문이고, 문제의 변수 정의가 뒤 따른다. 그것에 대해 내가 맞습니까?

+0

MySql 명령을 준비하고 쿼리에서 매개 변수를 설정하면 명령이이 스 니펫에서 실행되지 않습니다. –

답변

5

C#과 관련이 없으며 쿼리의 매개 변수에 불과합니다. PHP를 작성할 때 PDO/MySQLi에서 사용하는 것과 같은 (읽기 : 사용해야합니다).

또한 문자열 대체가 아니라 매개 변수를 매개 변수로 전달할 수있는 준비된 명령문입니다. Prepared Statement는 실행을 위해 데이터베이스에 하나의 긴 문자열 (잠재적 주입까지 열림)을 작성하는 대신 사전 정의 된 매개 변수를 사용하여 메소드 호출과 유사하게 생각할 수 있습니다.

+1

23 초 빨랐습니다 :) –