2014-01-10 39 views
0

我想從我的字符串變量表格名稱中將表格添加到我的查詢名稱中。在C#中可能嗎?我嘗試了下面的東西。但它不起作用。正如你可以看到我想要設置的FROM @tablename分數選擇查詢中表格的變量名稱

public void tableInsertTest() 
     { 

      MySqlConnection conn = null; 

      string tablename = "scores"; 

      try 
      { 
       conn = new MySqlConnection(cs); 
       conn.Open(); 

       MySqlCommand cmd = new MySqlCommand(); 
       cmd.Connection = conn; 
       cmd.CommandTimeout = 90; 
       cmd.CommandText = (

       "INSERT INTO dailyrecords(recorddate, firstname, lastname, score) " + 
       "SELECT NOW(), name, lname, score FROM @tablename "); 

       cmd.Prepare(); 

       cmd.Parameters.AddWithValue("@tablename", tablename); 

       { 
        cmd.ExecuteNonQuery(); 
       } 

       conn.Close(); 

      } 

      finally 
      { 
       if (conn != null) 
       { 
        conn.Close(); 
       } 
      } 
      return; 
     } 
+0

一般來說,數據庫庫別讓你使用對象名稱的參數,只有值。在這種情況下,你需要手動插入表名。 – Dai

+0

我編輯了你的問題,看看爲什麼:http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles –

回答

1
cmd.CommandText = ("INSERT INTO dailyrecords(recorddate, firstname, lastname, score) " + 
       string.Format("SELECT NOW(), name, lname, score FROM {0} ", tablename)); 

您的查詢只是一個字符串,你的價值:)