首页 > 解决方案 > 使用 OleDDataReader 使用 SQL 命令从数据库中提取特定数据,C#

问题描述

我正在做一个项目,我想使用 SQL 命令字符串根据其中一个列按升序对数据库进行排序,然后使用另一个命令获取大于或等于测量值的第一个值.

出于某种原因,我的代码只打印出 1,无论我将针对数据库测量的值更改为什么。我不确定我的第二个 SQL 命令字符串是否存在问题,或者我是否弄乱了 OleDb Get 方法。

我对我的编程有点生疏,因此,我们将不胜感激。

这是我的代码:

bool renew; 

string conn = TableSettings.Instance.GetConnectionString();
string readingInDoubles = lblReading.Text;
double dNumber;

renew = Double.TryParse(readingInDoubles, out dNumber);
string SqlCmdSort = "SELECT * FROM Tables ORDER BY Mass ASC";
string SqlCmdCompare = "SELECT * FROM Tabels WHERE Mass >= " + renew; 
            
using (OleDbConnection connect = new OleDbConnection(conn))
{ 
    OleDbCommand command = new OleDbCommand(SqlCmdSort, connect);
    OleDbCommand command2 = new OleDbCommand(SqlCmdCompare, connect);

    connect.Open();

    OleDbDataReader sort = command.ExecuteReader();

    while (sort.Read())
    {
        OleDbDataReader compare = command2.ExecuteReader();
        compare.Read();
        // compare.GetDouble(0); ignore this. 
        lblUpperValue.Text = compare[0].ToString();
        compare.Close();
    }

    sort.Close();
    connect.Close();
}

标签: c#sql-serveroledb

解决方案


推荐阅读