c#从access数据库获取double到表单

c#从access数据库获取double到表单,c#,visual-studio,numbers,double,C#,Visual Studio,Numbers,Double,我正在尝试获取access数据库中保存为Double的数据。假设我的应用程序提取存储为double(数字-数据类型)的数据,并将其放置在标签中供我查看。我可以通过将它重新标记为文本来实现,但它不能与double一起工作 任何建议都会有帮助!下面是我所拥有的,(1)是我的双重数据所在的列 str = "Select * from data where loc='" + loc + "'"; cmd = new OleDbCommand(str, co

我正在尝试获取access数据库中保存为Double的数据。假设我的应用程序提取存储为double(数字-数据类型)的数据,并将其放置在标签中供我查看。我可以通过将它重新标记为文本来实现,但它不能与double一起工作

任何建议都会有帮助!下面是我所拥有的,(1)是我的双重数据所在的列

            str = "Select * from data where loc='" + loc + "'";
            cmd = new OleDbCommand(str, con);
            dr = cmd.ExecuteReader();

            if (dr.Read())
            {
                label33.Text = dr.GetDouble(1);
C#是一种类型化语言,不能将double赋值给字符串变量。这应该起作用:

label33.Text = dr.GetDouble(1).ToString();

旁注:不要在sql查询中使用
*
。如果schmema发生变化,这可能会在将来导致严重的错误。而是命名所有列

您还可以使用
GetOrdinal
获取列的索引,然后可以使用不太容易出错的名称:

int dataColIndex = dr.GetOrdinal("DataCol");
double dataValue = dr.GetDouble(dataColIndex);
label33.Text = dataValue.ToString();

你也应该考虑给你的控件更多有意义的名字;p> “行不通”是什么意思?例外?没有什么?数据错误?请勿在sql查询中使用

*
。这可能会在将来导致严重的错误。我没有收到任何错误/异常,只是我的标签上没有显示任何数据@TimSchmelter,我将更新为不使用*。谢谢!谢谢你的详细回复。这非常有效……学习C#4个月后,学习从未停止过。非常感谢。