SVN r985
SVN-Revision: r985
This commit is contained in:
+105
-108
@@ -1692,66 +1692,66 @@ 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)
|
||||
{
|
||||
string[] parametersArray = parameters.Split(',');
|
||||
foreach (DataRow parameterRow in sqlParametersTab.Rows)
|
||||
string parameterName = parameterRow["PARAMETER_NAME"] + "";
|
||||
string parameterMode = parameterRow["PARAMETER_MODE"] + "";
|
||||
int.TryParse(parameterRow["CHARACTER_MAXIMUM_LENGTH"] + "", out int dataLength);
|
||||
string dataType = parameterRow["DATA_TYPE"] + "";
|
||||
SqlParameter sqlParameter = null;
|
||||
if (parameterMode.Equals("int"))
|
||||
{
|
||||
string parameterName = parameterRow["PARAMETER_NAME"] + "";
|
||||
string parameterMode = parameterRow["PARAMETER_MODE"] + "";
|
||||
int.TryParse(parameterRow["CHARACTER_MAXIMUM_LENGTH"] + "", out int dataLength);
|
||||
string dataType = parameterRow["DATA_TYPE"] + "";
|
||||
SqlParameter sqlParameter = null;
|
||||
if (parameterMode.Equals("int"))
|
||||
{
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
|
||||
}
|
||||
if (parameterMode.Equals("IN"))
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Input;
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Output;
|
||||
}
|
||||
command.Parameters.Add(sqlParameter);
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
|
||||
}
|
||||
for (int i = 0; i < command.Parameters.Count; i++)
|
||||
else
|
||||
{
|
||||
SqlParameter sqlParameter = command.Parameters[i];
|
||||
if (parametersArray.Length > i)
|
||||
{
|
||||
string commandParameter = parametersArray[i];
|
||||
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
|
||||
value = SearchObj.ReplaceControlValue(value);
|
||||
value = TopControlObj.ReplaceControlValue(value);
|
||||
value = ReplaceControlValue(value, MainControlPanel);
|
||||
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
sqlParameter.Value = value;
|
||||
}
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
|
||||
}
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
command.Parameters.Add(returnValue);
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.ExecuteNonQuery();
|
||||
if ((returnValue.Value + "").Equals("1"))
|
||||
if (parameterMode.Equals("IN"))
|
||||
{
|
||||
SearchObj.SearchGrid();
|
||||
sqlParameter.Direction = ParameterDirection.Input;
|
||||
}
|
||||
SqlParameter outSqlParameter = command.Parameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
|
||||
if (outSqlParameter != null)
|
||||
else
|
||||
{
|
||||
string outMessage = outSqlParameter.Value + "";
|
||||
if (!string.IsNullOrEmpty(outMessage))
|
||||
{
|
||||
MessageUtil.Show(outSqlParameter.Value + "");
|
||||
}
|
||||
sqlParameter.Direction = ParameterDirection.Output;
|
||||
}
|
||||
sqlParameters.Add(sqlParameter);
|
||||
}
|
||||
for (int i = 0; i < sqlParameters.Count; i++)
|
||||
{
|
||||
SqlParameter sqlParameter = sqlParameters[i];
|
||||
if (parametersArray.Length > i)
|
||||
{
|
||||
string commandParameter = parametersArray[i];
|
||||
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
|
||||
value = SearchObj.ReplaceControlValue(value);
|
||||
value = TopControlObj.ReplaceControlValue(value);
|
||||
value = ReplaceControlValue(value, MainControlPanel);
|
||||
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
sqlParameter.Value = value;
|
||||
}
|
||||
}
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
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 = sqlParameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
|
||||
if (outSqlParameter != null)
|
||||
{
|
||||
string outMessage = outSqlParameter.Value + "";
|
||||
if (!string.IsNullOrEmpty(outMessage))
|
||||
{
|
||||
MessageUtil.Show(outSqlParameter.Value + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1942,68 +1942,65 @@ 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[] parametersArray = parameters.Split(',');
|
||||
foreach (DataRow parameterRow in sqlParametersTab.Rows)
|
||||
string parameterName = parameterRow["PARAMETER_NAME"] + "";
|
||||
string parameterMode = parameterRow["PARAMETER_MODE"] + "";
|
||||
int.TryParse(parameterRow["CHARACTER_MAXIMUM_LENGTH"] + "", out int dataLength);
|
||||
string dataType = parameterRow["DATA_TYPE"] + "";
|
||||
SqlParameter sqlParameter = null;
|
||||
if (parameterMode.Equals("int"))
|
||||
{
|
||||
string parameterName = parameterRow["PARAMETER_NAME"] + "";
|
||||
string parameterMode = parameterRow["PARAMETER_MODE"] + "";
|
||||
int.TryParse(parameterRow["CHARACTER_MAXIMUM_LENGTH"] + "", out int dataLength);
|
||||
string dataType = parameterRow["DATA_TYPE"] + "";
|
||||
SqlParameter sqlParameter = null;
|
||||
if (parameterMode.Equals("int"))
|
||||
{
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
|
||||
}
|
||||
if (parameterMode.Equals("IN"))
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Input;
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Output;
|
||||
}
|
||||
command.Parameters.Add(sqlParameter);
|
||||
}
|
||||
for (int i = 0; i < command.Parameters.Count; i++)
|
||||
{
|
||||
SqlParameter sqlParameter = command.Parameters[i];
|
||||
if (parametersArray.Length > i)
|
||||
{
|
||||
string commandParameter = parametersArray[i];
|
||||
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
|
||||
value = SearchObj.ReplaceControlValue(value);
|
||||
value = TopControlObj.ReplaceControlValue(value);
|
||||
value = ReplaceControlValue(value, MainControlPanel);
|
||||
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
sqlParameter.Value = value;
|
||||
}
|
||||
}
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
command.Parameters.Add(returnValue);
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.ExecuteNonQuery();
|
||||
if ((returnValue.Value + "").Equals("1"))
|
||||
{
|
||||
MessageUtil.Show("保存成功");
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.Int);
|
||||
}
|
||||
else
|
||||
{
|
||||
SqlParameter outSqlParameter = command.Parameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
|
||||
if (outSqlParameter != null)
|
||||
sqlParameter = new SqlParameter(parameterName, SqlDbType.VarChar, dataLength);
|
||||
}
|
||||
if (parameterMode.Equals("IN"))
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Input;
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlParameter.Direction = ParameterDirection.Output;
|
||||
}
|
||||
sqlParameters.Add(sqlParameter);
|
||||
}
|
||||
for (int i = 0; i < sqlParameters.Count; i++)
|
||||
{
|
||||
SqlParameter sqlParameter = sqlParameters[i];
|
||||
if (parametersArray.Length > i)
|
||||
{
|
||||
string commandParameter = parametersArray[i];
|
||||
string field = commandParameter.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
string value = focusedRow.Table.Columns.Contains(field) ? focusedRow[field] + "" : commandParameter.Replace("@", "");
|
||||
value = SearchObj.ReplaceControlValue(value);
|
||||
value = TopControlObj.ReplaceControlValue(value);
|
||||
value = ReplaceControlValue(value, MainControlPanel);
|
||||
value = value.Replace("@", "").Replace("{", "").Replace("}", "");
|
||||
sqlParameter.Value = value;
|
||||
}
|
||||
}
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
sqlParameters.Add(returnValue);
|
||||
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, functionName, sqlParameters.ToArray());
|
||||
if ((returnValue.Value + "").Equals("1"))
|
||||
{
|
||||
MessageUtil.Show("保存成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
SqlParameter outSqlParameter = command.Parameters.Cast<SqlParameter>().Where(n => n.Direction == ParameterDirection.Output).FirstOrDefault();
|
||||
if (outSqlParameter != null)
|
||||
{
|
||||
string outMessage = outSqlParameter.Value + "";
|
||||
if (!string.IsNullOrEmpty(outMessage))
|
||||
{
|
||||
string outMessage = outSqlParameter.Value + "";
|
||||
if (!string.IsNullOrEmpty(outMessage))
|
||||
{
|
||||
MessageUtil.Show(outSqlParameter.Value + "");
|
||||
}
|
||||
MessageUtil.Show(outSqlParameter.Value + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user