他のタイプにDBNULLからキャストすることはできません私はmvc5でWebアプリを作成しています私は例えばのための私のデータベース オブジェクトは、モデルmvc5
USERS
USER1)ユーザー名=イブラヒム・パスワード= 1ibrahim で複数のユーザーを持っていますuser2の)ユーザー名= adminパスワード=
4321私は、ページが正常にページ、 を歓迎するためにリダイレクトされますが、私は(管理者)エラーに、ユーザからログインしていたときに
を来ている)ユーザー1(イブラヒムからログインしていたときに型「System.InvalidCastExceptionの」の例外が がmscorlib.dllで発生したが、ユーザーコード
追加情報で処理されませんでした:オブジェクトが他の タイプにはDBNullからキャストすることはできません。
ここ
このラインuser = Convert.ToBoolean(cmd.ExecuteScalar());
上の私のコードは、あなたのクエリが
DBNull.Value
によって表される、
null
を返し
public class loginuser
{
SqlCommand cmd;
public string role { get; set; }
public string username { get; set; }
public string password { get; set; }
public bool getlogintype(string role, string username, string password)
{
string tru = "";
string fals = "";
bool user;
string strname = "";
SqlConnection con = new SqlConnection("Data Source=erp.hti-india.com,1434;Initial Catalog=erp;Connect Timeout=3600;User Id=erprakesh;Password=14erprakesh14");
List<object> login = new List<object>();
if (role == "Admin" || role == "Super Admin" || role !=null)
{
cmd = new SqlCommand("select * from [admin] where userid='" + username + "' and pass ='" + password + "'", con);
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
user = true;
//HttpContext.Current.Session["userid"] = username.ToString();
//HttpContext.Current.Session["tru"] = tru.ToString();
// want to redirect to welcome page if condition satisfied.
}
else
{
user = false;
//want to show the label error message(declare as string errormsg)
}
con.Close();
}
con.Open();
user = Convert.ToBoolean(cmd.ExecuteScalar());
con.Close();
return user;
}
}
'select * from'から' cmd.ExecuteScalar() 'を使って??あなたは何をしようとしているのか分かりません。 – Ric
私はちょうどユーザー名とパスワードを検証したいです –
@Ricは私が のようなステートメントを選択する必要があります '選択userid、パスから管理者 ' –