次の接続文字列があります。以下の 2 つのメソッドは異なるストアド プロシージャを処理します。
同じ接続文字列を使用して個々のメソッドを呼び出すより効率的な方法はありますか。
手短に; 少ないコードで私がしていることを行う方法があるかどうかを単に尋ねているのですか?
私はこれらすべてをと呼ばれるクラスに持っていますDatabase
:
class Database
{
public static Int32 intReturnCode { get; set; }
public static string DatabaseStatus { get; set; }
static string source =
@"Server=MyServer;Database=MyDatabase;Integrated Security=True; Timeout=30";
public static void InsertTracking(string UserID, string Department)
{
try
{
using (SqlConnection databaseConnection = new SqlConnection(source))
{
using (SqlCommand cmdSQL = new SqlCommand("usp_InsertUser", databaseConnection))
{
cmdSQL.CommandType = CommandType.StoredProcedure;
cmdSQL.Parameters.Add(new SqlParameter("@UserID", SqlDbType.NChar, 8));
cmdSQL.Parameters["@UserID"].Value = UserID;
cmdSQL.Parameters["@UserID"].Direction = ParameterDirection.Input;
cmdSQL.Parameters.Add(new SqlParameter("@Department", SqlDbType.NChar, 4));
cmdSQL.Parameters["@Department"].Value = Department;
cmdSQL.Parameters["@Department"].Direction = ParameterDirection.Input;
cmdSQL.Parameters.Add(new SqlParameter("@ReturnCode", SqlDbType.Int));
cmdSQL.Parameters["@ReturnCode"].Direction = ParameterDirection.ReturnValue;
databaseConnection.Open();
cmdSQL.ExecuteNonQuery();
intReturnCode = Convert.ToInt16(cmdSQL.Parameters["@ReturnCode"].Value);
databaseConnection.Close();
}
}
}
catch (Exception ex)
{
DatabaseStatus = ex.Message;
}
}
public static int InitializeDatabase()
{
try
{
using (SqlConnection databaseConnection = new SqlConnection(source))
{
using (SqlCommand cmdSQL = new SqlCommand("usp_InitializeDatabase", databaseConnection))
{
cmdSQL.CommandType = CommandType.StoredProcedure;
cmdSQL.Parameters.Add(new SqlParameter("@ReturnCode", SqlDbType.Int));
cmdSQL.Parameters["@ReturnCode"].Direction = ParameterDirection.ReturnValue;
databaseConnection.Open();
cmdSQL.ExecuteNonQuery();
intReturnCode = Convert.ToInt16(cmdSQL.Parameters["@ReturnCode"].Value);
databaseConnection.Close();
}
}
}
catch (Exception ex)
{
DatabaseStatus = ex.Message;
}
return intReturnCode;
}
}