你的问题:
// 将DataReader对象绑定到DataGrid控件
********* 问题在这 *************************************
dgCust.DataSource=dr;
dgCust.DataBind();
**********************************************************
这里需要的是DataSet;你要新建一个 SqlDataAdapter对象,然后调用它的Fill方法填充DataSet。dgCust 不用先声明的吗 ?
因为在你的页面里你不是已经定义了一个DataGrid控件dgCust嘛。
// 将DataReader对象绑定到DataGrid控件
********* 问题在这 *************************************
dgCust.DataSource=dr;
dgCust.DataBind();
**********************************************************
这里需要的是DataSet;你要新建一个 SqlDataAdapter对象,然后调用它的Fill方法填充DataSet。dgCust 不用先声明的吗 ?
因为在你的页面里你不是已经定义了一个DataGrid控件dgCust嘛。
解决方案 »
- 高手们都进来看看吧,我只是想好好学习一下!
- 关于Request.QueryString
- 为什么ASP.NET控制的智能感知提示中,只是公共属性的一部分?为什么另外一些属性没有智能感知提示?
- 存储过程的问题
- 页面处理问题:页面上下比较长,怎么样在刷新之后停留在刷新之前的位置?
- 高手级请进
- 添加Global.asax后,没有Session_Start, Session_End方法
- 在运行完BUILD之后为何没有microsoft.web.ui.webcontols.dll
- WebUIValidation.js问题?
- 紧急求助!asp.net调试问题,有关Stream
- 怎样在ASP.net中实现屏蔽IE的刷新按钮?
- 在一个页面中怎样调用另一个页面作为其一部分?
<datagrid id="dgCust" runat="server">
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">
public void Search_Click(Object sender, EventArgs E)
{
// 连接到本地计算机的eShops数据库
SqlConnection cn=new SqlConnection("Data Source=localhost;" +
"Integrated Security=SSPI;Initial Catalog=eShops");
// 构造SQL语句,该语句用于查询某个客户的订购情况
String strSQL="select Orders.OrderId,ProductName,Qty,Price "+
"from Customers,Orders,Products "+
"where CustName=@CustName and Customers.CustId=Orders.CustId "+
"and Orders.ProductId=Products.ProductId "+
"order by Orders.Orderid";
// 创建Command对象cm
SqlCommand cm=new SqlCommand(strSQL,cn);
// 添加一个参数
cm.Parameters.Add(new SqlParameter("@CustName",SqlDbType.NVarChar,12));
// 给参数赋值
cm.Parameters["@CustName"].Value=CustName.Text;
// 打开连接
cn.Open();
// 执行ExecuteReader()方法
SqlDataReader dr=cm.ExecuteReader();
// 将DataReader对象绑定到DataGrid控件
dgCust.DataSource=dr;
dgCust.DataBind();
// 关闭连接
cn.Close();
}
</script>
<body style="font: 10pt verdana">
<form runat="server">
客户名:
<asp:TextBox id="CustName" runat="server" />
<asp:RequiredFieldValidator id="RFV"
ControlTOValidate="CustName"
Display="dynamic" runat="server">*
</asp:RequiredFieldValidator>
<asp:Button text="查询" OnClick="Search_Click" runat="server" />
<br><br>
<asp:DataGrid id="dgCust" runat="server"
Width="700" BackColor="#ccccff"
BorderColor="black" ShowFooter="false"
CellPadding=3 CellSpacing="0"
Font-Name="Verdana" Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AutoGenerateColumns="false"
MaintainState="false">
<Columns>
<asp:BoundColumn HeaderText="订单号" DataField="OrderId" />
<asp:BoundColumn HeaderText="产品名" DataField="ProductName" />
<asp:BoundColumn HeaderText="数量" DataField="Qty" />
<asp:BoundColumn HeaderText="单价(元)" DataField="Price" />
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
......
</asp:DataGrid>
这段code不就是定义了一个ID号为dgCust的DataGrid控件嘛。