Я продолжаю сталкиваться с этой ошибкой
В считывателе данных, возвращенном поставщиком данных хранилища, недостаточно столбцов для запрошенного запроса.
Я пробовал разныеспособы обработки возврата, но ни один из них не работает.
var r = myDb.spInsertBankDeposit(accountNumber, serialID,
payer, transferFrom, decimal.Parse(depAmount, CultureInfo.InvariantCulture),
remarks, fulldate, time,tradingCh, 2);
^ это вызов прямо из сущности БД myDB
, я пытался с .FirstOrDefault()
, ToList()
, ToString()
- та же ошибка
public string InsertBankDeposit(DepositTransactionModel m)
{
return DO_DB.spInsertBankDeposit(m.AccountNumber, m.SerialCode, m.AppliedAccountName, m.AppliedAccountNumber, decimal.Parse(m.DepositAmount, CultureInfo.InvariantCulture),
m.Remarks, m.TransactionDate, m.TransactionTime, m.TradingChannel, m.PlatformID).FirstOrDefault().Msg;
}
^ это также не работает, когда я звоню var r = spInsertBankDeposit(model)
Я не могу показать весь sp, но это последняя строка .. SELECT 'Success|Deposit transaction saved successfully!' AS [Msg]
ОБНОВЛЕНИЕ / РЕДАКТИРОВАНИЕ: Здесь вызывается метод InsertBankDeposit
: ![enter image description here](https://i.stack.imgur.com/Io7hg.jpg)
^ это прекрасно работает.Но когда я вызываю один и тот же InsertBankDeposit внутри цикла dr.Reader()
следующим образом:
foreach (DataRow row in result.Tables[0].Rows)
{
var r = spInsertBankDeposit(model);
//string s = spInsertBankDeposit(model);
}
, я всегда заканчиваю с ошибкой, указанной выше. ![enter image description here](https://i.stack.imgur.com/cajRP.jpg)
Вот sp от сущности.Также пробовал со скалярной строкой.Та же ошибка.![enter image description here](https://i.stack.imgur.com/B47da.jpg)
![enter image description here](https://i.stack.imgur.com/Trnhf.jpg)
Мне интересно, в чем проблема, поскольку у меня есть метод, который вызывает ту же функцию InsertBankDeposit
, котораяработает отлично.Я получаю сообщение об ошибке, когда вызываю его в цикле чтения файла Excel.