C# 无法强制转换类型为';System.Data.DataSet
在运行Debbuger查看错误后,我出现了此错误: 无法将“System.Data.DataSet”类型的对象强制转换为 “NLHosp.DataSet” “NLHosp”是我的数据库的名称 代码如下:C# 无法强制转换类型为';System.Data.DataSet,c#,sql,C#,Sql,在运行Debbuger查看错误后,我出现了此错误: 无法将“System.Data.DataSet”类型的对象强制转换为 “NLHosp.DataSet” “NLHosp”是我的数据库的名称 代码如下: private void btnLogin_Click(object sender, System.EventArgs e) { string strUser; string strPass; string sMsg = "";
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;
}
}
看起来您已经在
NLHosp
名称空间中声明了自己的类型,名为DataSet
,这就是您试图强制转换的对象-但是FindData
只是返回一个System.Data.DataSet
对象
首先,我强烈建议您重命名
NLHosp.DataSet
,这样它就不会与现有的系统类型名称冲突。然后你应该考虑你到底想把它扔到什么地方去。如果您真的想将其强制转换为自定义类型(和工作),那么您需要查看FindData
,并找出它为什么只返回System.Data.DataSet
。看起来你只需要System.Data.DataSet
中的东西,但是…那么你建议我做什么呢