如何查询“货币”或“百分比”数字格式的访问字段

本文关键字:百分比 数字 格式 字段 访问 货币 何查询 查询 | 更新日期: 2023-09-27 18:01:42

我有一个Access数据库,在一个表中我有这个字段:

Field Name: FieldA
Data Type: Number
Field Size: Double
Format: Percent

表单上有一个名为tBD的文本框。用户输入一个值,单击Button1并运行查询。结果存储在名为tV的文本框中。下面是我的代码:

OleDbConnection conn = null;
conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=c:''mydatabase.accdb");
conn.Open();
double bd = Convert.ToDouble(tBD.Text);
string sql = string.Format("SELECT Something FROM Table1 where [FieldA] = {0}", bd);
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.HasRows == true)
{
    while (dr.Read())
    {
        tV.Text = dr.GetValue(0).ToString();
    }
}
else
{
    tV.Text = "0";
}

当我在Access中查看FieldA时,它的值如下:


-15.00%
-13.25%
-18.00%

-12.50%

我只是不确定如何让用户格式化他们在tBD中输入的值。文本,和/或如何在代码中格式化它,使其在query.

中有意义。

另外,当数据类型是货币时,我也有同样的问题。用户应该如何格式化输入的值,以及如何在代码中对其进行格式化?

任何想法?谢谢!

编辑:

I tried

string sql = string.Format("SELECT Something FROM Table1 where [FieldA] = {0:0.00%}", bd);

但是它把-15.00变成-1500.00% ..我只是不确定正确的格式是什么

如何查询“货币”或“百分比”数字格式的访问字段

我明白了…必须更改

double bd = Convert.ToDouble(tBD.Text);

double bd = Convert.ToDouble(tBD.Text)/100;

Access想要看到-。1325,而不是-13.25