异常详细信息: System.Web.HttpException: 在选定的数据源上未找到名为“name”的字段或属性。
行 12: da.fill(ds,"科研数据库")
行 13: dg.datasource=ds.tables("科研数据库").defaultview
行 14: dg.DataBind()
行 15: conn.close
行 16: conn=nothing
但我确实是数据库里面有这个字段,为什么就找不到呢?郁闷,请教高手啊.下面是我连接数据库的代码
<columns>
<asp:boundcolumn datafield= "name" headertext="姓名"/>
<asp:boundcolumn datafield= "number" headertext="编号"/>
<asp:boundcolumn datafield= "profession" headertext="职业"/>
<asp:boundcolumn datafield= "rank" headertext="职位"/>
<asp:boundcolumn datafield= "weather" headertext="是否发表过论文"/>
<asp:boundcolumn datafield= "sex" headertext="性别"/>
</columns>
行 12: da.fill(ds,"科研数据库")
行 13: dg.datasource=ds.tables("科研数据库").defaultview
行 14: dg.DataBind()
行 15: conn.close
行 16: conn=nothing
但我确实是数据库里面有这个字段,为什么就找不到呢?郁闷,请教高手啊.下面是我连接数据库的代码
<columns>
<asp:boundcolumn datafield= "name" headertext="姓名"/>
<asp:boundcolumn datafield= "number" headertext="编号"/>
<asp:boundcolumn datafield= "profession" headertext="职业"/>
<asp:boundcolumn datafield= "rank" headertext="职位"/>
<asp:boundcolumn datafield= "weather" headertext="是否发表过论文"/>
<asp:boundcolumn datafield= "sex" headertext="性别"/>
</columns>
this.GridView1.DataBind();name 在数据库中是关键字。 public static DataTable ReturnDataTable(string cmdtext)
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "数据库连接字符串";
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand();
cmd = new SqlCommand(cmdtext, cn);
cmd.CommandType = CommandType.Text; ;
SqlDataReader dr = null;
using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(dr);
}
return dt;
}cmdtext是你的SQL语句然后把控件的数据源给加上。。 this.GridView1.DataSource = ReturnDataTable(sqlstr);
this.GridView1.DataBind();
我遇到这样的错误的时候都是去看我的SQL语句,经常是因为两表合并啦或者联合查询的时候,对应字段的名字就变了,你找找你SQL语句里面对应name的列名后面加个 as name ,这样就能绑定到了。
比如:select A.name as name from A,B where A.id = B.id;
把逐句运行调试出来的SQL复制在数据库里也能查出来字段名字的变化,楼主试试~
sub page_load(source as object,e as eventargs)
dim conn as new oledbconnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="+server.mappath("数据库.mdb")+"")
conn.open
dim ds as new dataset
Dim da As New OleDbDataAdapter("select * from 科研数据库", conn)
da.fill(ds,"科研数据库")
dg.datasource=ds.tables("科研数据库").defaultview
dg.DataBind()
conn.close
conn=nothing
end sub
连接上面的,能给出纯代码的吗,我不是用的VS的.谢谢了
还有你说的name是关键字,但我压根没设置,这会影响连接的结果吗?
异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。行 10: dim ds as new dataset
行 11: Dim da As New OleDbDataAdapter("select name,number,profession,rank,weather,sex from 科研数据库", conn)
行 12: da.fill(ds,"科研数据库")
行 13: dg.datasource=ds.tables("科研数据库").defaultview
行 14: dg.DataBind()
对了,数据库是access数据库,谢谢了.