研究员编码器,ADODB命令只检索一个字段
我正在使用ADODB命令从数据库中提取一些信息,其中包含多个字段。但是,当我运行代码时,它只会拉出一个字段,而且它始终是一个字段。我尽可能正确地使用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);
你不觉得'rsStbDetails.MoveNext();'应该在'While'循环内? – yogi 2012-08-07 07:45:24
执行哪种sql语句来填充rsStbDetails? – 2012-08-07 07:46:42
@ADC我正在使用以下来执行语句: 'object Params = objComm.Parameters; rsStbDetails = objComm.Execute(出虚设,参考PARAMS,(INT)ADODB.CommandTypeEnum.adCmdStoredProc);' 的'dummy'只是一个空对象 – Skulmuk 2012-08-07 08:07:44