Как я могу решить эту проблему с помощью хранимой процедуры в C #? - PullRequest
0 голосов
/ 22 мая 2019

Я имею в представлении класса DataGidView, который возвращает таблицу Usuarios.А мне нужны только столбцы name и surname.Я могу заказать данные в хранимой процедуре с 2 переключателями.Но только я могу заказать по именам.

Мой вопрос: как мне объединить эти два столбца в хранимой процедуре?

С помощью команды UNION, которая показывает ошибку

//ClasesBase
public static DataTable OrdenarUsuarioSP()
{
    //Conexion
    SqlConnection cnn = new SqlConnection(ClasesBase.Properties.Settings.Default.conex);

    //Comando de consulta
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = "spOrdenarUsuario";

    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Connection = cnn;

    //Usuario oUsuario = new Usuario();
    //Parametros del comando
    //cmd.Parameters.AddWithValue("@u", oUsuario.Usu_nombreUsuario);
    //cmd.Parameters.AddWithValue("@p", oUsuario.USU_Contraseña1);
    //cmd.Parameters.AddWithValue("@ayn", oUsuario.Usu_contraseña);
    //cmd.Parameters.AddWithValue("@rol", oUsuario.USU_Rol1);

    ////Abrir la conexion
    //cnn.Open();

    ////Ejecuta la consulta (insert)
    //cmd.ExecuteNonQuery();

    ////Cierro la conexion
    //cnn.Close();

    // Creo la tabla vacía
    DataTable tabla = new DataTable();

    // Creo el adaptador en base al comando cmd
    SqlDataAdapter da = new SqlDataAdapter(cmd);

    // Lleno la tabla con los datos de la base de datos
    da.Fill(tabla);

    // devuelvo la tabla con los datos
    return tabla;

}  //Views

private void btnOrdenarUsuario_Click(object sender, EventArgs e)
{
    if (rbnNombreUsuario.Checked)
    {
        dgvListaUsuarios.DataSource = TrabajarUsuario.OrdenarUsuarioSP();
    }if (rbnApellidoNombre.Checked)
    {
        dgvListaUsuarios.DataSource = TrabajarUsuario.OrdenarUsuarioSP();
    }           
}

Хранимая процедура (Iя думаю, что получаю ошибку):

ALTER PROCEDURE spOrdenarUsuario
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
    /* SET NOCOUNT ON */
    SELECT * 
    FROM Usuario 
    ORDER BY USU_NombreUsuario ASC

    // I want to combine this to SQL instances
    SELECT * 
    FROM Usuario 
    ORDER BY USU_ApellidoNombre ASC 

    RETURN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...