0

デバッガーを実行してエラーを確認した後、次のエラーが発生しました。

「型 'System.Data.DataSet' のオブジェクトを型 'NLHosp.DataSet' にキャストできません」

「NLHosp」は私のデータベースの名前です。

コードは次のとおりです。

  private void btnLogin_Click(object sender, System.EventArgs e)
    {
        string strUser;
        string strPass;
        string sMsg = "";

        strUser = txtUserID.Text ;
        strPass = txtPassword.Text ;

        DataSet o_Find = new DataSet ();
        Users oUsers = new Users();

        try
        {
            o_Find = (DataSet)oUsers.FindData(strUser,strPass);
            sMsg = "Welcome " + o_Find.Tables ["Login"].Rows[0]["UserName"].ToString ();

            switch (strUser)
            {
                case "Admissions":
                    frmAdmissions admitForm = new frmAdmissions ();
                    admitForm.Visible = true;
                    admitForm.Activate();
                    break;
                case "Admin":
                case "Nurse":
                case "Doctor":
                    frmMenu menuForm = new frmMenu ();
                    menuForm.oCurrent.UserName = strUser;
                    menuForm.Visible = true;
                    menuForm.Activate();
                    menuForm.SelectUser();
                    break;
            }

        }
4

1 に答える 1

2

DataSet名前空間内で呼び出される独自の型を宣言したように見えますがNLHosp、それがキャストしようとしていますが、オブジェクトFindDataを返すだけです。System.Data.DataSet

まず、既存のシステム タイプ名と競合しないように名前を変更することを強くお勧めします。NLHosp.DataSet次に、実際にキャストしたいものを検討する必要があります。本当にそれをカスタム型にキャストする (そして動作させる) つもりだった場合は、FindDataなぜSystem.Data.DataSet. それはあなたがからのものだけを必要とするように見えSystem.Data.DataSetますが...

于 2013-03-02T15:16:32.503 に答える