将数据从数据库加载到字符串

Load data from database to string

我现在正在尝试从数据库中获取信息并想将其保存在字符串中,但是我不确定如何正确地做到这一点。

这是我的代码,我在其中打开 LoadSql 函数:

public void LoadData(string KNR, string WNR, String filter)
{
    // WHERE
    const string sqlTemplate = "SELECT KUNDENAUFTRAGSNR FROM MESSFELD.AUSSTANDSDATEN WHERE FTNR = '" + txt_Barcode_read.Text + "'";
    string sql = string.Format(sqlTemplate, filter);

    Database cdb = new Database();

    // try to connect and cancel on error
    if (!cdb.Open("**********", "*********"))
    {
        SetStatusText("Datenbank ist nicht verfügbar.");
        return;
    }

    WNR = cdb.LoadSql(sql);
    cdb.Close();
}

这里是 LoadSQL 函数:

public DataTable LoadSql(string sql)
{
    try
    {
        OracleCommand command = new OracleCommand(sql, _con);
        command.InitialLONGFetchSize = -1;

        OracleDataReader rdr = command.ExecuteReader();

        DataTable dt = new DataTable();
        dt.Load(rdr);

        return dt;
    }
    catch
    {
        return null;
    }
}

目前LoadSQL保存在数据表中,如何更改以将数字保存在字符串WNR中?

您可以 re-write 您的 LoadSQL 功能是这样的:

public string LoadSql(string sql)
{
    try
    {
        OracleCommand command = new OracleCommand(sql, _con);
        command.InitialLONGFetchSize = -1;

        OracleDataReader rdr = command.ExecuteReader();
        rdr.Read();
        
        if(rdr.HasRows)
            return rdr.GetString(0);
        else
            return "";
    }
    catch
    {
        return null;
    }
}