Как и в заголовке, я пытался извлечь данные из набора 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, помещенного индивидуально в массив, чтобы я мог вызвать его для последующего размещения в списке.