来自数据库 ms 服务器的列表
List from database ms server
我正在尝试使用数据库信息填充 gridView,信息生成正确,但出现此错误:
[System.FormatException] = {"Index (zero based) must be greater than or equal to zero and less than the size of the argument list."}
下面的代码,如果列表是正确的,为什么我会收到这个错误?
public List<StatusClicComplete> SelectStatusClicDB(Clic objClic , out Status returnStatus)
{
const string strStoredProcedure = "spSearchClicStatusTESTE";
List<StatusClicComplete> complete = new List<StatusClicComplete>();
try
{
Database database = DatabaseFactory.CreateDatabase(DATABASESETTINGS.CLICDB);
using (DbCommand dbCommand = database.GetStoredProcCommand(strStoredProcedure))
{
database.AddInParameter(dbCommand, "@iClic", DbType.Int32, objClic.ID);
using (IDataReader dataReader = database.ExecuteReader(dbCommand))
{
while (dataReader.Read())
{
StatusClicComplete statusClicComplete = new StatusClicComplete();
statusClicComplete.iClic = objClic.ID;
statusClicComplete.iStatus = (int)dataReader["iStatus"];
statusClicComplete.dtDateCreated = (DateTime)dataReader["dtDateCreated"];
statusClicComplete.iEDV = (int)dataReader["iEDV"];
statusClicComplete.sComments = dataReader["sComments"].ToString();
complete.Add(statusClicComplete);
}
dataReader.Close();
returnStatus = StatusBuilder.BuildStatus("Success", string.Format("{0} - {1}", MethodBase.GetCurrentMethod().Name), true);
}
}
}
catch(Exception exception)
{
returnStatus = StatusBuilder.BuildStatus("Error", string.Format("{0} - {1}", MethodBase.GetCurrentMethod().Name, exception.Message), false);
}
//TODO NAV8CA - Escrever tratativa de objeto nulo
return complete;
}
我觉得这条线不对..
returnStatus = StatusBuilder.BuildStatus("Success", string.Format("{0} - {1}", MethodBase.GetCurrentMethod().Name), true);
您正在使用带有 2 个格式占位符的 string.Format
,但只传递了一个项目。
我正在尝试使用数据库信息填充 gridView,信息生成正确,但出现此错误:
[System.FormatException] = {"Index (zero based) must be greater than or equal to zero and less than the size of the argument list."}
下面的代码,如果列表是正确的,为什么我会收到这个错误?
public List<StatusClicComplete> SelectStatusClicDB(Clic objClic , out Status returnStatus)
{
const string strStoredProcedure = "spSearchClicStatusTESTE";
List<StatusClicComplete> complete = new List<StatusClicComplete>();
try
{
Database database = DatabaseFactory.CreateDatabase(DATABASESETTINGS.CLICDB);
using (DbCommand dbCommand = database.GetStoredProcCommand(strStoredProcedure))
{
database.AddInParameter(dbCommand, "@iClic", DbType.Int32, objClic.ID);
using (IDataReader dataReader = database.ExecuteReader(dbCommand))
{
while (dataReader.Read())
{
StatusClicComplete statusClicComplete = new StatusClicComplete();
statusClicComplete.iClic = objClic.ID;
statusClicComplete.iStatus = (int)dataReader["iStatus"];
statusClicComplete.dtDateCreated = (DateTime)dataReader["dtDateCreated"];
statusClicComplete.iEDV = (int)dataReader["iEDV"];
statusClicComplete.sComments = dataReader["sComments"].ToString();
complete.Add(statusClicComplete);
}
dataReader.Close();
returnStatus = StatusBuilder.BuildStatus("Success", string.Format("{0} - {1}", MethodBase.GetCurrentMethod().Name), true);
}
}
}
catch(Exception exception)
{
returnStatus = StatusBuilder.BuildStatus("Error", string.Format("{0} - {1}", MethodBase.GetCurrentMethod().Name, exception.Message), false);
}
//TODO NAV8CA - Escrever tratativa de objeto nulo
return complete;
}
我觉得这条线不对..
returnStatus = StatusBuilder.BuildStatus("Success", string.Format("{0} - {1}", MethodBase.GetCurrentMethod().Name), true);
您正在使用带有 2 个格式占位符的 string.Format
,但只传递了一个项目。