2012-10-05 42 views
2

這主要是我試圖讀取C#(我知道的Python,PHP和JavaScript,但我是新來的C#)C#和MySQL - 字符串替換

這也可能是我想在這裏解釋的MySQL 。

我有這部分代碼:

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)); 

我想知道什麼在sql_query值部分手段?(是確定變量或一個C#的方式是什麼我不意識到MySQL的語法)。

我也想知道,如果我對本節的理解是正確的 - 它或多或少只是一個SQL插入語句,然後是有關變量的定義。我對嗎?

+0

這是準備一個MySql命令並在查詢中設置參數,命令不在這個片段中運行。 –

回答

5

與C#沒有任何關係,它們只是查詢的命名參數。與編寫PHP時一樣,您可以在PDO/MySQLi中使用(閱讀:應該使用)。

另請注意,這不是字符串替換,它是一個準備好的語句,它允許傳遞參數。您可以將預先準備好的語句更像是調用預定義參數的方法調用,而不是直接向數據庫中寫入一個長長的數據字符串(可能會注入潛在的注入)。

+1

你23秒快:) –