Из C# я отправляю список значений, но одновременно будет отправлен только один список. время, а другой имеет значение null.
Пример: при работе над деталями Projectid список ProjectId в это время будет иметь значение null.
То же, что и работаю с Подробности AccountID, тогда список AccountId станет пустым, в то время как список ProjectId будет иметь значение null.
Код: Выделить всё
public string SubmitGroupInfo(GroupSettingsInputs finalinput)
{
string result = string.empty;
List
ProjectIdDetails = new List(finalinput.ProjectIds);
// Here I am getting finalinput.ProjectIds is null.
List AccountIdDetails = new List(finalinput.AccountIds);
DataTable projectlist = ToDataTable(ProjectIdDetails);
DataTable accountlist = ToDataTable(AccountIdDetails);
dbcmd = this.sqlConn.GetStoredProcCommand("SPName");
dbcmd.CommandType = CommandType.StoredProcedure;
dbcmd.CommandTimeout = 240;
this.sqlConn.AddParameter(dbcmd,"@ProjectIds",SqlDbType.Structured,projectlist);
this.sqlConn.AddParameter(dbcmd,"@AccountIds",SqlDbType.Structured,accountlist);
using (IDataReader datareader = this.sqlConn.ExecuteReader(dbcmd))
{
while (datareader.Read())
{
result = Convert.ToString(datareader["result"]);
}
}
return result;
}
Наконец, я получаю значение DbNull из параметра «@ProjectIds», который не поддерживается. Параметры с табличным значением не могут быть DBNull.
Кто-нибудь может сообщить мне, как обрабатывать нулевые значения при отправке в хранимую процедуру для пользовательских таблиц.
Подробнее здесь: https://stackoverflow.com/questions/737 ... om-c-sharp
Мобильная версия