Added SupportStoredProceduresResult, because not all databases support that.
This commit is contained in:
@@ -3657,6 +3657,9 @@ namespace DynamORM
|
|||||||
/// <summary>Database support stored procedures (EXEC procedure ...).</summary>
|
/// <summary>Database support stored procedures (EXEC procedure ...).</summary>
|
||||||
SupportStoredProcedures = 0x00000100,
|
SupportStoredProcedures = 0x00000100,
|
||||||
|
|
||||||
|
/// <summary>Database support stored procedures results (Return value).</summary>
|
||||||
|
SupportStoredProceduresResult = 0x00000200,
|
||||||
|
|
||||||
/// <summary>Database support with no lock syntax.</summary>
|
/// <summary>Database support with no lock syntax.</summary>
|
||||||
SupportNoLock = 0x00001000,
|
SupportNoLock = 0x00001000,
|
||||||
|
|
||||||
@@ -5882,14 +5885,20 @@ namespace DynamORM
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var returnName = _db.GetParameterName("___result___");
|
var returnName = _db.GetParameterName("___result___");
|
||||||
if (!retIsAdded)
|
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
|
||||||
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
|
{
|
||||||
|
if (!retIsAdded)
|
||||||
|
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
|
||||||
|
}
|
||||||
|
|
||||||
mainResult = cmd.ExecuteNonQuery();
|
mainResult = cmd.ExecuteNonQuery();
|
||||||
|
|
||||||
IDbDataParameter returnParam = null;
|
IDbDataParameter returnParam = null;
|
||||||
if (!retIsAdded)
|
if (!retIsAdded)
|
||||||
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
|
{
|
||||||
|
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
|
||||||
|
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (var e in cmd.Parameters)
|
foreach (var e in cmd.Parameters)
|
||||||
|
|||||||
@@ -59,6 +59,9 @@ namespace DynamORM
|
|||||||
/// <summary>Database support stored procedures (EXEC procedure ...).</summary>
|
/// <summary>Database support stored procedures (EXEC procedure ...).</summary>
|
||||||
SupportStoredProcedures = 0x00000100,
|
SupportStoredProcedures = 0x00000100,
|
||||||
|
|
||||||
|
/// <summary>Database support stored procedures results (Return value).</summary>
|
||||||
|
SupportStoredProceduresResult = 0x00000200,
|
||||||
|
|
||||||
/// <summary>Database support with no lock syntax.</summary>
|
/// <summary>Database support with no lock syntax.</summary>
|
||||||
SupportNoLock = 0x00001000,
|
SupportNoLock = 0x00001000,
|
||||||
|
|
||||||
|
|||||||
@@ -380,14 +380,20 @@ namespace DynamORM
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var returnName = _db.GetParameterName("___result___");
|
var returnName = _db.GetParameterName("___result___");
|
||||||
if (!retIsAdded)
|
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
|
||||||
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
|
{
|
||||||
|
if (!retIsAdded)
|
||||||
|
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
|
||||||
|
}
|
||||||
|
|
||||||
mainResult = cmd.ExecuteNonQuery();
|
mainResult = cmd.ExecuteNonQuery();
|
||||||
|
|
||||||
IDbDataParameter returnParam = null;
|
IDbDataParameter returnParam = null;
|
||||||
if (!retIsAdded)
|
if (!retIsAdded)
|
||||||
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
|
{
|
||||||
|
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
|
||||||
|
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (var e in cmd.Parameters)
|
foreach (var e in cmd.Parameters)
|
||||||
|
|||||||
Reference in New Issue
Block a user