无法强制转换数据集

本文关键字:转换 数据集 | 更新日期: 2023-09-27 18:02:07

我在调试程序时遇到错误,说无法转换类型为'System.Data '的对象。DataSet'来输入MyDatabase。数据集的

我需要做什么修复它

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;
        }
    }

无法强制转换数据集

我认为问题在这一行:

o_Find = (DataSet)oUsers.FindData(strUser,strPass);

似乎你已经覆盖了数据集的含义在你的代码的某个地方。(例如,MyDatabase.DataSet类型是什么?)

应该可以解决这个问题:

o_Find = (System.Data.DataSet)oUsers.FindData(strUser,strPass);