保存在变量中并乘以双值查询结果C#/ MySql

加梅

我试图将查询产生的唯一值保存到double变量中,因为相同的值在数据库中存储为double,因此以后可以使用以下代码将其与计数器相乘:

 public partial class CoronaClaraCant : Form
 {
    private int conteoCliks = 0;
    private string producto = "CoronaClara";
    private double precio;

    public CoronaClaraCant()
    {
        InitializeComponent();  
    }

    private void CoronaClara_Click(object sender, EventArgs e)
    {
        MySqlConnection conn = new MySqlConnection("server=localhost;database=database;username=root;password=***"); 
        conn.Open();

        string select = "SELECT precio FROM productos where prodnom = '" + producto + "';";

        MySqlCommand cmd = new MySqlCommand(select, conn);
        double result = cmd.ExecuteNonQuery();
        conteoCliks++;
        precio = result;


        double total = (precio * conteoCliks);


        lblcantidad.Text = conteoCliks.ToString();
        lblprecio.Text = precio.ToString();

        lbltotal.Text = total.ToString();
    }
}

到目前为止,我只得到负值:

执行代码

我猜这可能是因为ExecuteNonQuery,但是我无法为ExecuteScalar方法分配双精度值,而且我不确定将双精度值保存到变量中时是否应该考虑其他参数。

迈拉吉·艾哈迈德(Mairaj ahmad)

select要从数据库中获取数据,并且正在调用ExecuteNonQuery用于Insert,Update或Delete命令的数据

您需要致电,ExecuteReader或者如果要在中获取数据,则DataTable可以填写DataTable

SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
   if (rdr.Read()) 
    {
      precio = (double)rdr["precio"];
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章