运行时出现编译器错误消息:无法将类型“System.Data.Common.DbDataReader”隐式转换为“System.Da

usingSystem;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.W... using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;

public partial class _Default : System.Web.UI.Page
{
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmd = null;
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{

string name = txtname.Text.Trim();
string pwd = txtpasswd.Text.Trim();
string sql = "select * from t_User where name='" + name + "','" + pwd + "'";
cmd = db.GetSqlStringCommand(sql);
SqlDataReader dr = cmd.ExecuteReader();

if (name == "")
{
msg_name.Text = "请输入用户名";
}
else if (pwd == "")
{
msg_pwd.Text = "请输入用户密码";
}
if (dr.Read())
{
if (dr["passwd"].ToString() != pwd)//判断密码是否正确
{
Response.Write("用户密码不正确");
}
else//在session对象中记录用户名和用户身份信息
{
Session["name"] = name;//[name]=nametxt.Text
if (Convert.ToBoolean(Session["name"]))
Response.Redirect("default.aspx");
}
}
else
{
Response.Write("用户名不存在");
}
}

}

运行时出现编译器错误消息: CS0266: 无法将类型“System.Data.Common.DbDataReader”隐式转换为“System.Data.SqlClient.SqlDataReader”。存在一个显式转换(是否缺少强制转换?)
展开
 我来答
百度网友cf5726c
2011-12-12 · TA获得超过1894个赞
知道小有建树答主
回答量:1064
采纳率:55%
帮助的人:616万
展开全部
你用的 Sql Server,那最好就用 SqlCommand,就不需要强制转换了。否则你就修改
SqlDataReader dr = cmd.ExecuteReader();

SqlDataReader dr = (SqlDataReader)cmd.ExecuteReader();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编码之心
2011-12-12 · TA获得超过152个赞
知道答主
回答量:94
采纳率:100%
帮助的人:63.2万
展开全部
SqlDataReader dr = cmd.ExecuteReader(); //接收错误,ExecuteReader返回的是System.Data.Common.DbDataReader类型

这是c#代码?
果然和java很像
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
豆煜2D
2011-12-26 · TA获得超过163个赞
知道答主
回答量:33
采纳率:0%
帮助的人:17.2万
展开全部
BestAns,回答的应该是正确的,就是你要么直接用SqlCommand,要么把DbCommand转换为SqlCommand,因为你是用SqlDataReader读的...类型不符合人家读的那个~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式