C# 无法强制转换数据集
调试程序时出现错误,表示无法将“System.Data.DataSet”类型的对象强制转换为MyDatabase.DataSet类型 我需要做什么来修复它C# 无法强制转换数据集,c#,sql,ado.net,C#,Sql,Ado.net,调试程序时出现错误,表示无法将“System.Data.DataSet”类型的对象强制转换为MyDatabase.DataSet类型 我需要做什么来修复它 private void btnLogin_Click(object sender, System.EventArgs e) { string strUser; string strPass; string sMsg = ""; strUser = txtUserID.Text ; strPas
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);
似乎您已经在代码的某个地方覆盖了DataSet的含义。(例如,什么是类型MyDatabase.DataSet
)
这应该可以解决问题:
o_Find = (System.Data.DataSet)oUsers.FindData(strUser,strPass);
StackOverflow不是一个让别人为你做腿部工作的地方。你试过什么?这里的信息非常具有解释性,编译器错误与行号一起出现。寻求帮助时,切勿将错误消息与行号分离。(并通过注释突出代码中的这一行)@KirkWoll:虽然我当然同意你的观点,但很明显o_find=(数据集)行是问题的一部分。