Я получаю ошибку при использовании ниже кода. Этого не происходит на всех записях. Но, по крайней мере, в 10 раз из 5000 транзакций, которые я получаю ниже ошибки. Я проверил данные в базе данных, и данные хороши, но я не уверен, почему я получаю эту ошибку. Попросить вас помочь мне показать правильный путь реализации кода. < /P>
Метод службы: < /b>
public List GetStockPIN(string sInput)
{
List listStockInfo = new List();
try
{
DEBUG("Info from GetStockPIN : ", sInput);
// Parse request string
Parseparams(sInput);
string sTerminalId = GetValue("TerminalId");
string sMerchantId = GetValue("MerchantId");
string sBankCode= GetValue("BankCode");
string sAppId = GetValue("AppId");
string sProductName = GetValue("ProductName");
string sDenomName = GetValue("DenomName");
string sQTY = GetValue("QTY");
StockRepository objStockRepository = new StockRepository(sConString) { DenomName = sDenomName, ProductName = sProductName, TerminalId = sTerminalId, Qty = Convert.ToInt32(sQTY) };
listStockInfo = objStockRepository.GetStockPIN();
return listStockInfo;
}
catch (Exception ex)
{
DEBUG("Error from GetStockPIN : ", ex);
return listStockInfo;
}
}
< /code>
Метод доступа к базе данных: < /b>
public List GetStockPIN()
{
DataTable dtrec = new DataTable();
List objStockInfo = new List();
SqlConnection conn = null;
try
{
using (conn = new SqlConnection(sConnectionString))
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "prc_GetStockPIN";
cmd.Parameters.Add(new SqlParameter("@TerminalId", SqlDbType.NVarChar));
cmd.Parameters["@TerminalId"].Value = TerminalId;
cmd.Parameters.Add(new SqlParameter("@ProductName", SqlDbType.VarChar));
cmd.Parameters["@ProductName"].Value = ProductName;
cmd.Parameters.Add(new SqlParameter("@DenomName", SqlDbType.VarChar));
cmd.Parameters["@DenomName"].Value = DenomName;
cmd.Parameters.Add(new SqlParameter("@Qty", SqlDbType.Int));
cmd.Parameters["@Qty"].Value = Qty;
conn.Open();
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dtrec);
}
//Some additional code that generates List
}
}
}
catch (Exception error)
{
throw error;
}
finally
{
if (conn != null)
{
try
{
conn.Close();
}
catch (Exception ex)
{
}
}
}
return objStockInfo;
}
}
< /code>
< /pre>
Вот вывод исключения: < /p>
отладка: ошибка из getstockpin:
at system.data.sqlclient.sqlconnection.onerror (sqlexception exception, booleancnection, actionscle.comation). at System.data.sqlclient.sqlinternalConnection.onerror (исключение SQLexception, Boolean BreakConnection, Action '1 rawCloseinaction)
at system.data.sqlclient.tdsparser.throwexceptionandwarning (tdsparserstateobject at atyn -asynclonclonclonclonclonclonclonconclonclonclonconclonconclonconconclonconclonconconconconconconcelco System.data.sqlclient.tdsparser.trinrun (runbehavior runbehavior, sqlcommand cmdhandler, sqldatareader datastream, bulkcopysimplerestoltset bulkcopyhandler, tdsparserstateobject, boolean & dataready)
att System.data.sqlclient.sqldatareader.tryconsumemetadata ()
at system.data.sqlclient.sqldatareader.get_metadata ()
at system.data.sqlclient.sqlcommand.finishexecutereader (sqldater runbehavior, string resetoptionsstring)
at system.data.sqlclient.sqlcommand.runexecutereadertds (commandbehavior cmdbehavior, runbehavior runbehavior, boolean return -stream, boolean async, int32, задача и задача, boolean asyncrite, dsyncrite, sq asyntarite, sq asyntarite, sq asyntarite, sq asyntarite, sq asyntarite, sq asyntarite, sq asyn /> at system.data.sqlclient.sqlcommand.runexecutereader (commandbehavior cmdbehavior, runbehavior runbehavior, boolean return -stream, струнный метод, TaskCompletionionionsource`1, Timeout Int32, Task & Task, Boolean Asyncwrite) System.data.sqlclient.sqlcommand.runexecutereader (Commandbehavior cmdbehavior, runbehavior runbehavior, boolean returnstream, струнный метод)
at system.data.sqlclient.sqlcommand.executereader (CommandBehavior Behavior, поведение BR />> Поведение строки)
> System.data.sqlclient.sqlcommand.executedbdatareader (поведение CommandBehavior)
at system.data.common.dbcommand.system.data.idbcommand.executereader (commandbehavior поведение)
at System...data.common..dbemonApter.fithlinernermanternernernerner DataTable [] DataTables, Int32 StarTrecord, Int32 MaxRecords, String Srctable, команда idbCommand, CommandBehavior Behavior)
at system.data.common.dbdataadapter.fill (datatable [] DataTables, int32 StarTrecord, int32 MaxRecords, idbcommAvioR at oMATABLEATER System.data.common.dbdataadapter.fill (datatable datatable)
at tamsbulkpin.dal.stockrepository.getstockpin ()
at tamsbulkpin.bulkpinsvc.getstockpin (String sinput)
< /pre>
Подробнее здесь: https://stackoverflow.com/questions/220 ... fill-error
SQLDATAADAPTER.FILL Ошибка ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение