我有一个 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.Text 中输入的值,和/或如何在代码中格式化它以便在查询中有意义。
此外,当数据类型为货币时,我遇到了同样的问题。用户应该如何格式化他们输入的值,以及如何在代码中格式化它?
有任何想法吗?谢谢!
编辑:
我试过
string sql = string.Format("SELECT Something FROM Table1 where [FieldA] = {0:0.00%}", bd);
但它会将 -15.00 变成 -1500.00% .. 我只是不确定格式化它的正确方法是什么。