Как поместить все поля ADODB.Recordset и поместить их в один одномерный массив - PullRequest
0 голосов
/ 31 мая 2019

Как и в заголовке, я пытался извлечь данные из набора ADODB.Recordset и поместить их в строковый массив. Поскольку набор записей будет меняться в зависимости от различных входных данных, которые будет делать конечный пользователь, я не могу напрямую связать что-либо с какими-либо исходными данными.

Я знаю, что подключен к правильной базе данных, так как это было сделано внешним способом. Это часть данных, которые уже были созданы другими членами моей нынешней команды. Краткая часть этого изложена в RetrieveRecordset ().

Наконец, я хочу отметить, что я все еще довольно плохо знаком с этим языком и пока не имею большого опыта работы с ним.

public ADODB.Recordset RetrieveRecordset(string vstrSQL)
{
    ADODB.Recordset rstReturnRecordset;

        rstReturnRecordset = new ADODB.Recordset();
        rstReturnRecordset.CursorLocation = ADODB.CursorLocationEnum.adUseClient;
        try
        {
            if (mblnConnected == true)
            {
                rstReturnRecordset.Open(vstrSQL, mobjConnection,
                    ADODB.CursorTypeEnum.adOpenDynamic,
                    ADODB.LockTypeEnum.adLockPessimistic, -1);
            }
            else
            {
                this.Error = "You must connect to the database before you can create a recordset.";
            }
        }
        catch (Exception e)
        {
            this.Error = e.Message;
            HandleError(e.HResult, e.Message, "clsDatabase.RetrieveRecordset");
        }
        return (rstReturnRecordset);
}


private string RetrieveRecordValue()
{
    rstSourceData = mobjDataDictionary.DataDictionaryDatabase.RetrieveRecordset(strSQL);
    intRecordCount = rstSourceData.RecordCount;


    if (intRecordCount > 0)
        {
            vstrRecordValue = rstSourceData.GetString();
            if(vstrRecordValue.EndsWith("\r"))
            {
                vstrRecordValue = vstrRecordValue.Remove(vstrRecordValue.Length - 1);
            }
        }
        else
        {
            vstrRecordValue = "Error";
        }
    return (vstrRecordValue);
}

То, что я хочу, является результатом запроса SQL, помещенного индивидуально в массив, чтобы я мог вызвать его для последующего размещения в списке.

...