/ / referencia de objeto no establecida en una instancia de un objeto en dll - c #, windows, dll

referencia de objeto no establecida en una instancia de un objeto en dll - c #, windows, dll

Escribí este método en mi aplicación y funciona bien. Decidí crear un archivo DLL para ello. Pero el mismo método me da el error. referencia de objeto no establecida en una instancia de un objeto en dll. el codigo es

public void Try(string conStr, string storedProcedure)
{

try
{

//create a connection string
sqlCon = new SqlConnection(conStr);

// create command
sqlCmd = new SqlCommand(sqlCmd.CommandText, sqlCon);

//add command type
sqlCmd.CommandType = CommandType.StoredProcedure;

// add the stored procedure name
sqlCmd.CommandText = storedProcedure;

//Open connection
sqlCon.Open();

// Execute transaction
sqlCmd.ExecuteNonQuery();

}
catch (Exception e)
{

throw e;
}
finally
{
// Close connection
sqlCon.Close();
}

El error se produce en:

sqlCmd = new SqlCommand(sqlCmd.CommandText, sqlCon);

Cual puede ser el problema ??

Respuestas

0 para la respuesta № 1

está llamando al comando SQL antes de establecer su valor correspondiente, debe establecer el valor de CommandText y luego instanciar el comando SQL


0 para la respuesta № 2

No has creado la instancia de sqlCmd y tu tratando de pasar su CommandText al proceso que crea ese objeto. Parece que está pasando el procedimiento almacenado como un parámetro para ejecutar, así que intente algo como:

sqlCmd = new SqlCommand(storedProcedure, sqlCon);

0 para la respuesta № 3

Definitivamente, trataría de mantener su conexión abierta por el menor tiempo posible. Yo aconsejaría usar un utilizando declaración.

public void Try(string conStr, string storedProcedure) {
using (var sqlCon = new SqlConnection(conStr)) {
// create command, also a local variable
var sqlCmd = new SqlCommand();

// set connection
sqlCmd.Connection = sqlCon

//add command type
sqlCmd.CommandType = CommandType.StoredProcedure;

// add the stored procedure name
sqlCmd.CommandText = storedProcedure;

//Open connection
sqlCon.Open();

// Execute transaction
sqlCmd.ExecuteNonQuery();
}
}