Usando Dapper para seleccionar datos de MS SQL

asp.net dapper sql-server

Pregunta

Yo uso Dapper para seleccionar los datos de Mssql, el resultado muestra "nulo"

(use la lista de procedimientos almacenados para obtener datos, y "myDictionary [0] .Account" y myDictionary [0] .Password para obtener información detallada),

pero la base de datos MS SQL tiene datos.

¿Cómo puedo arreglar el código? Gracias.

public void Do_Click(object sender, EventArgs e)
    {
        string strAccount = Request.Form["userAccount"];
        string strPassword = Request.Form["userPwd"];

        using (var conn = new SqlConnection(strConn))
        {
            try
            {
                conn.Open();

                List<LoginModel> myDictionary = 
                    conn.Query<LoginModel>(@"uspSelectLoginChk",
                                            new { LoginAcc = strAccount, LoginPsd = strPassword }, commandType: CommandType.StoredProcedure).ToList();
               string strAccountChk =  myDictionary[0].Account;
               string strPASChk =  myDictionary[0].Password;

                conn.Close();


                if (strAccountChk != null && strAccountChk != null)
                {

                    Response.Redirect("test.aspx");
                }
                else
                {

                }


            }
            catch (Exception ex)
            {
               response.write( ex.ToString());
            }
        }

    }

Respuesta aceptada

Prueba este,

// Modified your code
public void Do_Click(object sender, EventArgs e)
{
    string strAccount = Request.Form["userAccount"];
    string strPassword = Request.Form["userPwd"];
    var _para = new DynamicParameters();
    _para.Add("@LoginAcc", strAccount);
    _para.Add("@LoginPsd", strPassword);
    var _list = _con.Query<LoginModel>("uspSelectLoginChk", _para, commandType: CommandType.StoredProcedure); // _con is SqlConnection _con = new SqlConnection("your connection string")
    if(_list != null) {
        Response.Redirect("test.aspx");
    }

}

Respuesta popular

debe verificar: ejecutar sp en sql con parámetro que puede ver en depurar el código.

   example:
   exec uspSelectLoginChk 'LoginAccValue', 'LoginPsdValue'

si se ejecuta cualquier dato en SQL, su código es un error, si no hay datos, puede insertar datos antes con un resultado de depuración de datos. Gracias



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué