仲間のコーダー、
ADODB コマンドを使用して、いくつかのフィールドで構成されるデータベースから情報を取得しています。ただし、コードを実行すると、1 つのフィールドしか抽出されず、常に同じフィールドになります。私が知る限り、MoveNext を適切に使用しており、EOF while ループ内にネストされています。
ここに私がこれまでに持っているものがあります:
if (!rsStbDetails.EOF)
{
while (!rsStbDetails.EOF)
{
foreach (ADODB.Field f in rsStbDetails.Fields)
{
if (f.Value == null)
{
f.Value = 0;
}
switch (f.Name)
{
// There's a load of case statements here to manipulate the values being read in
default:
SetValue(id, f.Name, f.Value, f.Position);
break;
}
}
}
rsStbDetails.MoveNext();
}
何か案は?乾杯
編集:接続をセットアップするために使用しているコードは次のとおりです。
objComm.ActiveConnection = conSQL;
objComm.CommandType = CommandTypeEnum.adCmdStoredProc;
objComm.CommandText = "Service.GetDetails";
objComm.Parameters.Append(objComm.CreateParameter("@Node", ADODB.DataTypeEnum.adVarChar, ParameterDirectionEnum.adParamInput, 50, "NAME"));
objComm.Parameters.Append(objComm.CreateParameter("@Box", ADODB.DataTypeEnum.adVarChar, ParameterDirectionEnum.adParamInput, 20, ""));
objComm.Parameters.Append(objComm.CreateParameter("@Num", ADODB.DataTypeEnum.adInteger, ParameterDirectionEnum.adParamInput, 20, 0));
objComm.Parameters.Append(objComm.CreateParameter("@Exclude", ADODB.DataTypeEnum.adInteger, ParameterDirectionEnum.adParamInput, 20, iExclude));
objComm.Parameters[1].Value = Right((string)GetProperty(id, "SName", role), 8);