ver una todas texto tabla stored sp_depends procedimientos palabras las dependencias datos dato campo buscar bases almacenados c# .net asp.net sql-server ado.net

c# - todas - ¿Cómo puedo recuperar una tabla del procedimiento almacenado a una tabla de datos?



sp_depends (3)

Establezca también el CommandText y llame a Fill en el SqlAdapter para recuperar los resultados en un DataSet :

var con = new SqlConnection(); con.ConnectionString = "connection string"; var com = new SqlCommand(); com.Connection = con; com.CommandType = CommandType.StoredProcedure; com.CommandText = "sp_returnTable"; var adapt = new SqlDataAdapter(); adapt.SelectCommand = com; var dataset = new DataSet(); adapt.Fill(dataset);

(Ejemplo es usar constructores sin parámetros para mayor claridad, puede acortarse usando otros constructores).

Creé un procedimiento almacenado para devolverme una tabla.

Algo como esto:

create procedure sp_returnTable body of procedure select * from table end

Cuando llamo a este procedimiento almacenado en la interfaz ¿qué código necesito escribir para recuperarlo en un objeto de tabla de datos?

Escribí código como el siguiente. Básicamente, quiero saber recuperar y almacenar la tabla en un objeto de tabla de datos. Todas mis consultas se están ejecutando, pero no sé cómo recuperar la tabla en una tabla de datos a través de un procedimiento almacenado

DataTable dtable = new DataTable(); cmd.Connection = _CONN; cmd.CommandText = SPNameOrQuery; cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter adp = new SqlDataAdapter(cmd); OpenConnection(); adp.Fill(dtTable); CloseConnection();

Aquí en este código, un comando ha sido vinculado con el nombre del procedimiento almacenado y sus parámetros. ¿Me devolverá una tabla de datos del procedimiento almacenado?


Explicando si alguien quiere enviar algunos parámetros mientras llama al procedimiento almacenado como se indica a continuación,

using (SqlConnection con = new SqlConnection(connetionString)) { using (var command = new SqlCommand(storedProcName, con)) { foreach (var item in sqlParams) { item.Direction = ParameterDirection.Input; item.DbType = DbType.String; command.Parameters.Add(item); } command.CommandType = CommandType.StoredProcedure; using (var adapter = new SqlDataAdapter(command)) { adapter.Fill(dt); } } }


string connString = "<your connection string>"; string sql = "name of your sp"; using(SqlConnection conn = new SqlConnection(connString)) { try { using(SqlDataAdapter da = new SqlDataAdapter()) { da.SelectCommand = new SqlCommand(sql, conn); da.SelectCommand.CommandType = CommandType.StoredProcedure; DataSet ds = new DataSet(); da.Fill(ds, "result_name"); DataTable dt = ds.Tables["result_name"]; foreach (DataRow row in dt.Rows) { //manipulate your data } } } catch(SQLException ex) { Console.WriteLine("SQL Error: " + ex.Message); } catch(Exception e) { Console.WriteLine("Error: " + e.Message); } }

Modificado a partir del ejemplo de las escuelas de Java