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