我不能't转换int和float与convert. tostring()到string

本文关键字:tostring convert string float 不能 int 转换 | 更新日期: 2023-09-27 18:14:30

我在我的形式中有2个控件,一个是int,另一个是float,我试图用" convert . tostring()"方法转换,但它不起作用,我一直得到一个空值这是我的代码:

string req = "select coef from amortissement where id_amort =@p";
                    textBox4.Text =Convert.ToString(GetRecordsetValue(req, textBox1.Text) as String)
req = "select Plan from amortissement where id_amort =@p";
                    textBox3.Text =Convert.ToString(GetRecordsetValue(req, textBox1.Text) as String);

这是GetRecordsetValue方法:

private Object GetRecordsetValue(string req, string sValParam)
        {
            // ExecuteScalar est optimisée pour récupérer une seule valeur
            SqlCommand cmd = null;
            try
            {
                cmd = new SqlCommand(req, con);
                cmd.Parameters.AddWithValue("@p", sValParam);
                return cmd.ExecuteScalar();
            }
            catch
            {
                return String.Empty;
            }
            finally
            {
                cmd.Dispose();
            }
        }

thanks for Help

我不能't转换int和float与convert. tostring()到string

如果您的查询没有找到任何匹配WHERE条件的记录,则GetRecordsetValue中的代码返回NULL。返回的空值被传递回Convert.ToString(),这会引发异常

  string req = "select coef from amortissement where id_amort =@p";
  object result = GetRecordsetValue(req, textBox1.Text);
  if(result != null)
  {
      textBox4.Text = Convert.ToString(result);
  }
  else
  {
      // and/or a message to the user to correct its inputs.
      textBox4.Text = "";
  }

还存在GetRecordsetValue内部传递值的问题。此值作为字符串传递,并作为字符串数据类型添加到参数集合中。如果字段id_amort不是字符串(从它的名称看来),那么很可能您的查询无法找到记录。

我建议创建GetRecordsetValue的不同重载。接受整数,例如