No mapping exists from object type System.Web.UI.WebControls.TextBox to a known managed provider native type

后端 未结 2 1277
挽巷
挽巷 2020-12-10 14:14

This is my code

SqlCommand cmd = new SqlCommand(\"spRegisterUser\", con);
cmd.CommandType = CommandType.StoredProcedure;

SqlParameter username = new SqlPar         


        
相关标签:
2条回答
  • 2020-12-10 14:43

    This a function for passing SQL parameter to stored procedure:

    public static SqlParameter Parameter( SqlDbType dbtype,  string ParameterName, string Value)
    {
            SqlParameter param = new SqlParameter();
            param.ParameterName = ParameterName;
            param.SqlDbType = dbtype;
            param.SqlValue = Value;
            return param;
            // cmd.Parameters.Add(param);
    }
    

    You can use this the function like this

    SqlCommand cmd = new SqlCommand("SP_Name");
    cmd.Parameter.Add(Parameter(SqlDbType.DateTime,"@Parameter",DateTimepicker.Text));
    

    OR

    SqlParameter[] parameters =
    {
        new SqlParameter("@Task", "insert"),
        new SqlParameter("@Name", clsPluginHelper.DbNullIfNullOrEmpty(txtinstalName.Text)),
        new SqlParameter("@Descp", clsPluginHelper.DbNullIfNullOrEmpty(txtInstDescp.Text)),
        clsPluginHelper.Parameter(SqlDbType.DateTime, "@StartDate",dtpInstStartDate.Text),
        clsPluginHelper.Parameter(SqlDbType.DateTime, "@EndDate",dtpInstalEndDate.Text)
    };
    
    0 讨论(0)
  • 2020-12-10 14:49

    You are passing txtPassword which is an object of TextBox, thus you are getting exception.

    Problem is in line

    SqlParameter password = new SqlParameter("@Password", txtPassword);
    

    So change your code to

    SqlParameter password = new SqlParameter("@Password", txtPassword.Text);
    
    0 讨论(0)
提交回复
热议问题