保存在变量中并乘以双值查询结果 C#/MySql
Posted
技术标签:
【中文标题】保存在变量中并乘以双值查询结果 C#/MySql【英文标题】:Save in a variable and multiply double value query result C#/MySql 【发布时间】:2016-06-02 04:17:35 【问题描述】:我正在尝试将查询产生的唯一值保存到一个双精度变量中,因为它作为双精度存储在数据库中,所以我以后可以使用以下代码将它与一个计数器相乘:
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 方法分配双精度值,我不确定是否还有其他参数我将双精度值保存到变量时应考虑。
【问题讨论】:
【参考方案1】:你想select
数据库中的数据,你正在调用ExecuteNonQuery
,它用于插入、更新或删除命令。
您需要致电ExecuteReader
,或者如果您想在DataTable
中获取数据,您可以填写DataTable
。
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.HasRows)
if (rdr.Read())
precio = (double)rdr["precio"];
【讨论】:
以上是关于保存在变量中并乘以双值查询结果 C#/MySql的主要内容,如果未能解决你的问题,请参考以下文章
如何理解导致 MySQL 函数中截断不正确的双值错误的原因?
如何将 MySql 查询的结果保存到 VB 变量中? [复制]