2015-12-14 2 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(); 

Я проверил самый первый запрос, все в порядке. Теперь я хочу использовать значение tv_min в следующей вставке statemet, чтобы вставить в таблице:

<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. 

Whatis неправильно?

ответ

0

попробуйте использовать Double.TryParse вместо Double.Parse. это безопаснее

Double.TryParse(tv_minString, tv_min)) 
+0

ошибка. «Нет перегрузки для метода« TryParse »принимает 1 аргумент» – user1589763

+0

ему нужны два параметра – ElenaDBA

+0

Такая же ошибка, кроме того, комментарий: при преобразовании строки в DateTime проанализируйте строку, чтобы принять дату, прежде чем помещать каждую переменную в объект DateTime. Но это НЕ вызвано датой. – user1589763

Смежные вопросы