我想要INSERT INTO表值,其中一个是动态的。如下所示,我在.cs中写了这个:
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 :(得分:0)
尝试使用Double.TryParse而不是Double.Parse。它更安全
Double.TryParse(tv_minString, tv_min))