2015-12-14 56 views
0

我想要執行INSERT INTO從其中一個是動態的表值。如下,我已經寫在.cs:帶有動態給定值的ASP.NET INSERT語句

query = "SELECT " + outColumn + " FROM [Proizvodnja].[dbo].[v_time] WHERE textile LIKE '" + outTextile + "'"; 
SqlConnection cn = new SqlConnection("Data Source=***.***.***.***, 1433; Initial Catalog=******;User ID=******;Password=******;"); 
     SqlCommand dataCommand = new SqlCommand(query, cn); 

     cn.Open(); 
     SqlDataReader rdrOrder = dataCommand.ExecuteReader(); 
     while (rdrOrder.Read()) 
     { 
      tv_min_String = rdrOrder.GetValue(0).ToString(); 
      tv_min = double.Parse(tv_min_String); 

     } 
     rdrOrder.Close(); 
     cn.Close(); 

我檢查了第一個查詢,它是確定的。現在,我想在接下來的插入statemet tv_min值使用,在表中插入:

<asp:SqlDataSource ID="insertOrder_plan_SqlDataSource" runat="server" 
InsertCommand="INSERT INTO [Production].[dbo].[order_plan] (...,[v_time]) VALUES (..., @tv_min)"> 
... 
<InsertParameters> 
    <asp:Parameter Name="tv_min" DefaultValue="<%= tv_min %>/>" Type="Decimal"/> 
</InsertParameters> 

當我輸入什麼需要apears錯誤信息:

An exception of type 'System.FormatException' occurred in mscorlib.dll but was not handled in user code 
Additional information: Input string was not in a correct format. 

頭朝下錯了嗎?

回答

0

嘗試使用Double.TryParse而不是Double.Parse。它更安全

Double.TryParse(tv_minString, tv_min)) 
+0

err。 「方法'TryParse'沒有超載需要1個參數」 – user1589763

+0

它需要兩個參數 – ElenaDBA

+0

同樣的錯誤,另外還有註釋:在將字符串轉換爲DateTime時,在將每個變量放入DateTime對象之前解析字符串以獲取日期。但它不是由Date引起的。 – user1589763