Added SupportStoredProceduresResult, because not all databases support that.

This commit is contained in:
2024-10-22 14:50:22 +02:00
parent 2d0f1343e4
commit e969a9d078
3 changed files with 24 additions and 6 deletions

View File

@@ -3657,6 +3657,9 @@ namespace DynamORM
/// <summary>Database support stored procedures (EXEC procedure ...).</summary>
SupportStoredProcedures = 0x00000100,
/// <summary>Database support stored procedures results (Return value).</summary>
SupportStoredProceduresResult = 0x00000200,
/// <summary>Database support with no lock syntax.</summary>
SupportNoLock = 0x00001000,
@@ -5882,14 +5885,20 @@ namespace DynamORM
else
{
var returnName = _db.GetParameterName("___result___");
if (!retIsAdded)
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
{
if (!retIsAdded)
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
}
mainResult = cmd.ExecuteNonQuery();
IDbDataParameter returnParam = null;
if (!retIsAdded)
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
{
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
}
else
{
foreach (var e in cmd.Parameters)

View File

@@ -59,6 +59,9 @@ namespace DynamORM
/// <summary>Database support stored procedures (EXEC procedure ...).</summary>
SupportStoredProcedures = 0x00000100,
/// <summary>Database support stored procedures results (Return value).</summary>
SupportStoredProceduresResult = 0x00000200,
/// <summary>Database support with no lock syntax.</summary>
SupportNoLock = 0x00001000,

View File

@@ -380,14 +380,20 @@ namespace DynamORM
else
{
var returnName = _db.GetParameterName("___result___");
if (!retIsAdded)
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
{
if (!retIsAdded)
cmd.AddParameter(returnName, ParameterDirection.ReturnValue, DbType.Int32, 4, 0, 0, DBNull.Value);
}
mainResult = cmd.ExecuteNonQuery();
IDbDataParameter returnParam = null;
if (!retIsAdded)
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
{
if ((_db.Options & DynamicDatabaseOptions.SupportStoredProceduresResult) == DynamicDatabaseOptions.SupportStoredProceduresResult)
returnParam = cmd.Parameters[returnName] as IDbDataParameter;
}
else
{
foreach (var e in cmd.Parameters)