[英]Cannot retrive data using dataset from database
我正在编写Web服务方法来检索用户的数据。 为了清楚起见,我在数据库中有一个名为User的表,该表具有ID,fName,lName,emailAddress,用户名,密码和reg_ID。 如果我使用ID来检索数据,它将可以工作,但是如果我在“ where”子句中使用emailAddress,则会出现以下错误。
Web服务方式
[WebMethod(Description = "Returns Details of User with username")]
public DataSet GetUser(string user)
{
DataSet dataSet = new DataSet();
OleDbConnection oleConn = new OleDbConnection(connString);
try
{
oleConn.Open();
string sql = "SELECT * FROM [User] WHERE [username]=" + user;
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql, oleConn);
dataAdapter.Fill(dataSet, "User");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
oleConn.Close();
}
if (dataSet.Tables["User"].Rows.Count <= 0)
return null;
return dataSet;
}
错误
System.NullReferenceException: Object reference not set to an instance of an object.
at UserManagement.UserRegistration.GetUser(String user) in C:\Users\smartamrit\Desktop\SystemSoftware\UserManagement\UserRegistration.asmx.cs:line 170
第170行从if (dataSet.Tables["User"].Rows.Count <= 0
)开始
您在传递电子邮件ID时使用单引号还是在传递电子邮件ID时尝试使用like语句。 您是否检查catch块中是否引发了任何异常。
可能的原因是catch块中可能发生异常,它被抑制,然后执行if语句并引发错误,即找不到用户表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.