2017-05-14 362 views
0

我得到这个错误,不知道问题是什么。 我正在更新的数据库列的数据类型为float,并且在代码的cmd1.ExecuteNonQuery();部分出现错误。 任何想法?将数据类型varchar转换为float时出错。

SqlConnection connect = new SqlConnection(ConfigurationManager.ConnectionStrings 
      ["connectToEnterpriseAssignmentDB"].ToString()); 
      SqlCommand cmd1 = new SqlCommand(); 

      string currency = lstCurrency.SelectedItem.Value.ToString(); 
      string columnCurr = lstColumnCurr.SelectedItem.Value.ToString(); 
      float value = float.Parse(txtValue.Text); 
      currency = currency.Trim(); 
      columnCurr = columnCurr.Trim(); 

      cmd1.CommandText = "UPDATE CurrencyTbl SET " + columnCurr + " = '@Value' WHERE CurrencyName = '@Currency'"; 

      cmd1.Parameters.Add("@Currency", SqlDbType.Char).Value = currency; 
      //cmd1.Parameters.Add("@Column", SqlDbType.Char).Value = columnCurr; 
      cmd1.Parameters.Add("@Value", SqlDbType.Float).Value = value; 

      cmd1.Connection = connect; 
      connect.Open(); 
      cmd1.ExecuteNonQuery(); 

      connect.Close(); 
+0

PLZ在这里发表更多的细节你会得到一个 – ilans

+0

已经说明这里(和其他国家)以外的,在引号HTTP不附上数值://计算器.COM /问题/ 43904032 /使用参数换未知列名称-S –

回答

1

删除单引号。您传递的参数正确类型:

 cmd1.CommandText = "UPDATE CurrencyTbl SET " + columnCurr + " = @Value WHERE CurrencyName = @Currency"; 
+0

,做把周围@Currency – ilans

+0

真棒报价!谢谢! –

相关问题