SVN-Revision: r985
This commit is contained in:
tdx
2025-09-10 09:37:18 +00:00
parent ad859d1501
commit ddde8d1bcb
+16 -19
View File
@@ -1692,8 +1692,7 @@ namespace Lskj.PubBomAlter
if (!string.IsNullOrEmpty(functionName))
{
DataTable sqlParametersTab = BaseImpl.GetDataTableResult($"SELECT PARAMETER_NAME,PARAMETER_MODE,CHARACTER_MAXIMUM_LENGTH,DATA_TYPE FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = '{functionName}' ORDER BY ORDINAL_POSITION;");
using (SqlCommand command = new SqlCommand(functionName, SqlHelper._connection))
{
List<SqlParameter> sqlParameters = new List<SqlParameter>();
string[] parametersArray = parameters.Split(',');
foreach (DataRow parameterRow in sqlParametersTab.Rows)
{
@@ -1718,11 +1717,11 @@ namespace Lskj.PubBomAlter
{
sqlParameter.Direction = ParameterDirection.Output;
}
command.Parameters.Add(sqlParameter);
sqlParameters.Add(sqlParameter);
}
for (int i = 0; i < command.Parameters.Count; i++)
for (int i = 0; i < sqlParameters.Count; i++)
{
SqlParameter sqlParameter = command.Parameters[i];
SqlParameter sqlParameter = sqlParameters[i];
if (parametersArray.Length > i)
{
string commandParameter = parametersArray[i];
@@ -1737,14 +1736,16 @@ namespace Lskj.PubBomAlter
}
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
command.Parameters.Add(returnValue);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
sqlParameters.Add(returnValue);
object[] inParameters = sqlParameters.ToArray();
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, functionName, inParameters);
SqlParameter outSqlParameter = sqlParameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
if ((returnValue.Value + "").Equals("1"))
{
SearchObj.SearchGrid();
}
SqlParameter outSqlParameter = command.Parameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
SqlParameter outSqlParameter = sqlParameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
if (outSqlParameter != null)
{
string outMessage = outSqlParameter.Value + "";
@@ -1754,7 +1755,6 @@ namespace Lskj.PubBomAlter
}
}
}
}
else
{
MessageUtil.Show("保存逻辑配置错误");
@@ -1942,9 +1942,8 @@ namespace Lskj.PubBomAlter
if (!string.IsNullOrEmpty(functionName))
{
DataTable sqlParametersTab = BaseImpl.GetDataTableResult($"SELECT PARAMETER_NAME,PARAMETER_MODE,CHARACTER_MAXIMUM_LENGTH,DATA_TYPE FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = '{functionName}' ORDER BY ORDINAL_POSITION;");
using (SqlCommand command = new SqlCommand(functionName, SqlHelper._connection))
{
string[] parametersArray = parameters.Split(',');
List<SqlParameter> sqlParameters = new List<SqlParameter>();
foreach (DataRow parameterRow in sqlParametersTab.Rows)
{
string parameterName = parameterRow["PARAMETER_NAME"] + "";
@@ -1968,11 +1967,11 @@ namespace Lskj.PubBomAlter
{
sqlParameter.Direction = ParameterDirection.Output;
}
command.Parameters.Add(sqlParameter);
sqlParameters.Add(sqlParameter);
}
for (int i = 0; i < command.Parameters.Count; i++)
for (int i = 0; i < sqlParameters.Count; i++)
{
SqlParameter sqlParameter = command.Parameters[i];
SqlParameter sqlParameter = sqlParameters[i];
if (parametersArray.Length > i)
{
string commandParameter = parametersArray[i];
@@ -1987,9 +1986,8 @@ namespace Lskj.PubBomAlter
}
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
command.Parameters.Add(returnValue);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
sqlParameters.Add(returnValue);
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, functionName, sqlParameters.ToArray());
if ((returnValue.Value + "").Equals("1"))
{
MessageUtil.Show("保存成功");
@@ -2007,7 +2005,6 @@ namespace Lskj.PubBomAlter
}
}
}
}
else
{
MessageUtil.Show("保存逻辑配置错误");