我在类视图中有一个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();
}
}
存储过程(我在这里遇到错误):
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