Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象引用未设置为对象的实例(查看配置文件页面)_C# - Fatal编程技术网

C# 对象引用未设置为对象的实例(查看配置文件页面)

C# 对象引用未设置为对象的实例(查看配置文件页面),c#,C#,这是Web服务的代码: [网络方法] 这是我调用Web服务的代码 如果创建命令或执行命令时出现异常,则该命令将被吞没。你应该在你的服务中去掉try-catch,或者在catch语句中加上一个throw。此外,如果出现异常,dbreader将不会被释放,最好在create中添加using。我还将使用参数化查询来避免sql注入的可能性 MyUser user = null; using (OleDbCommand cmd = conn.CreateCommand()) { cmd.Comma

这是Web服务的代码:

[网络方法]

这是我调用Web服务的代码


如果创建命令或执行命令时出现异常,则该命令将被吞没。你应该在你的服务中去掉try-catch,或者在catch语句中加上一个throw。此外,如果出现异常,dbreader将不会被释放,最好在create中添加using。我还将使用参数化查询来避免sql注入的可能性

MyUser user = null;

using (OleDbCommand cmd = conn.CreateCommand())
{

  cmd.CommandText = @"SELECT * FROM [Details] WHERE [UserName] = @Username";
  cmd.AddParameter(new OleDbParameter('@UserName', UserName));

  //Check for matches
  using (OleDbDataReader dbReader = cmd.ExecuteReader(CommandBehavior.SingleRow))
  {

    if (dbReader.HasRows)
    {
      user = new MyUser()
      {
          FirstName = (string)dbReader["FirstName"],
          Country = (string)dbReader["Country"],
          DateOfBirth = (string)dbReader["DateOfBirth"],
          //DateOfBirth = DateTime.Parse(dbReader["DateOfBirth"].ToString()),
          EmailAddress = (string)dbReader["EmailAddress"],
          Password = (string)dbReader["Password"],
          Surname = (string)dbReader["Surname"],
          Username = (string)dbReader["UserName"]
      };
    }
  }
}  

return user;

您从何处获得该错误?您的用户对象或出生日期正确为空,因为您没有对此进行检查。可能是的重复项
 protected void Page_Load(object sender, EventArgs e)
{
    lblUsername.Text = User.Identity.Name + "'s Profile";
    Service s = new Service();

    MyUser user = s.GetProfile(User.Identity.Name);

    try
    {
        txtCountry.Text = user.Country;
        txtDOB.Text = user.DateOfBirth.ToString();
        txtEmail.Text = user.EmailAddress;
        txtName.Text = user.FirstName;
        txtPassword.Text = user.Password;
        txtSurname.Text = user.Surname;
        txtUsername.Text = user.Username;
    }
    catch (Exception ex)
    {
        txtUsername.Text = ex.Message;
    }
}
  protected void Page_Load(object sender, EventArgs e)
    {
        lblUsername.Text = User.Identity.Name + "'s Profile";
        Service s = new Service();

        MyUser user = s.GetProfile(User.Identity.Name);

        try
        {
           if(user != null)
           {
            txtCountry.Text = user.Country== null? "" : user.Country.ToString();
            txtDOB.Text = user.DateOfBirth == null? "" : user.DateOfBirth.ToString();
            txtEmail.Text = user.EmailAddress== null? "" : user.EmailAddress.ToString();
            txtName.Text = user.FirstName== null? "" : user.FirstName.ToString();
            txtPassword.Text = user.Password== null? "" : user.Password.ToString();
            txtSurname.Text = user.Surname== null? "" : user.Surname.ToString();
            txtUsername.Text = user.Username== null? "" : user.Username.ToString();
          }
        }
        catch (Exception ex)
        {
            txtUsername.Text = ex.Message;
        }
    }
MyUser user = null;

using (OleDbCommand cmd = conn.CreateCommand())
{

  cmd.CommandText = @"SELECT * FROM [Details] WHERE [UserName] = @Username";
  cmd.AddParameter(new OleDbParameter('@UserName', UserName));

  //Check for matches
  using (OleDbDataReader dbReader = cmd.ExecuteReader(CommandBehavior.SingleRow))
  {

    if (dbReader.HasRows)
    {
      user = new MyUser()
      {
          FirstName = (string)dbReader["FirstName"],
          Country = (string)dbReader["Country"],
          DateOfBirth = (string)dbReader["DateOfBirth"],
          //DateOfBirth = DateTime.Parse(dbReader["DateOfBirth"].ToString()),
          EmailAddress = (string)dbReader["EmailAddress"],
          Password = (string)dbReader["Password"],
          Surname = (string)dbReader["Surname"],
          Username = (string)dbReader["UserName"]
      };
    }
  }
}  

return user;