ユーザーのデータを取得するための Web サービス メソッドを作成しています。明確にするために、ID、fName、lName、emailAddress、username、password、reg_ID を含む User というテーブルがデータベースにあります。ID を使用してデータを取得した場合は機能しますが、代わりに「where」句で emailAddress を使用すると、次のエラーが発生します。
ウェブサービス方式
[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
)