我的html中有<asp:DropDownList ID="name1" Runat="server">
然后我的cs如下:
string Connectionstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("~/DataBase/Chat.mdb");
MyConn = new OleDbConnection(Connectionstr);
OleDbCommand MyCommand = new OleDbCommand("select name from userinf",MyConn);
MyConn.Open();
OleDbDataReader rd =MyCommand.ExecuteReader();
if(rd.Read())
{
name1.DataSource = rd;
name1.DataTextField = rd.GetValue(0).ToString();
name1.DataBind();
}
错误是dropdownlist没有DataBind(0这个属性,我以前这么邦定都可以的,不知道这次为什么不行
然后我的cs如下:
string Connectionstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("~/DataBase/Chat.mdb");
MyConn = new OleDbConnection(Connectionstr);
OleDbCommand MyCommand = new OleDbCommand("select name from userinf",MyConn);
MyConn.Open();
OleDbDataReader rd =MyCommand.ExecuteReader();
if(rd.Read())
{
name1.DataSource = rd;
name1.DataTextField = rd.GetValue(0).ToString();
name1.DataBind();
}
错误是dropdownlist没有DataBind(0这个属性,我以前这么邦定都可以的,不知道这次为什么不行
少了这个吧.
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
DropDownList1.DataSource = myDataReader
DropDownList1.DataBind()
Catch myException As Exception
Response.Write("An error has occurred: " & myException.ToString())
Finally
If Not myDataReader Is Nothing Then
\\\'关闭DataReader
myDataReader.Close()
看看别人的
你去掉if(rd.Read())这个
我加了name1.DataValueField = rd.GetValue(0).ToString();
也不行
没去掉if(rd.Read())
错误提示:
DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。源错误:
行 39: name1.DataTextField = rd.GetValue(0).ToString();
行 40: name1.DataValueField = rd.GetValue(0).ToString();
行 41: name1.DataBind();
行 42: }
行 43:
源文件: c:\documents and settings\lmh1\vswebcache\lmh\chat\bottom.aspx.cs 行: 41 堆栈跟踪:
[HttpException (0x80004005): DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。]
System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName)
System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName, String format)
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e)
System.Web.UI.Control.DataBind()
chat.bottom.Page_Load(Object sender, EventArgs e) in c:\documents and settings\lmh1\vswebcache\lmh\chat\bottom.aspx.cs:41
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731
少了name1.DataValueField = rd.GetValue(0).ToString();
真正的错误不是在这段代码吧
然后就可以帮定数据库了?
如果是的话, 那错误在什么地方?
VS的问题?
{
name1.DataSource = rd;
name1.DataTextField = rd.GetValue(0).ToString();
name1.DataBind();
}
为什么要这么写?