GridView在运行后不显示数据(C#+ASP.NET)
我做的一个页面,在条件查询后,或者全查询后总是没有数据出来,而且运行是正常的,VS没报错。
而我数据库当中是有对应的测试数据的。拜托大家看看。
主要的问题是运行后没有数据显示,我怀疑是没有数据传到DataSet里面去。
下面我贴出代码,
首先是页面的代码:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div style="height:160px;text-align:center">
<br /><br /><span style="font-size:xx-large;">发生世代信息管理
<br />
起始时间:<asp:TextBox ID="txtStart" runat="server" Height="24px" Width="80px"></asp:TextBox>
<cc1:CalendarExtender ID="txtStart_CalendarExtender" runat="server"
Enabled="True" TargetControlID="txtStart">
</cc1:CalendarExtender>
终止时间:
<asp:TextBox ID="txtEnd" runat="server" Height="24px" Width="80px"></asp:TextBox>
<cc1:CalendarExtender ID="txtEnd_CalendarExtender" runat="server"
Enabled="True" TargetControlID="txtEnd">
</cc1:CalendarExtender>
<asp:Button ID="btQuery" runat="server" Height="24px" Text="查询" Width="60px"
onclick="btQuery_Click"/>
</div>
<div style="overflow: scroll; height: 700px;width:780px; vertical-align:top; ">
<asp:GridView ID="GridView1" runat="server"
DataKeyNames="SurveyUnitID,SiteID,HappengenerationID"
onrowdatabound="GridView1_RowDataBound"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowediting="GridView1_RowEditing" AllowPaging="True"
onrowupdating="GridView1_RowUpdating" EmptyDataText="没有匹配数据!">
<Columns>
<asp:BoundField DataField="Respondents.DrosophilaTypeID" HeaderText="实蝇类型编号" Visible="False" />
<asp:BoundField DataField="Respondents.DrosophilaType" HeaderText="实蝇类型" />
<asp:BoundField DataField="SurveyUnit.SurveyUnitID" HeaderText="调查单位编号" Visible="False" />
<asp:BoundField DataField="SurveyUnit.UnitName" HeaderText="调查单位名称" />
<asp:BoundField DataField="SurveyUnit.SurveyPerson" HeaderText="调查人" />
<asp:BoundField DataField="SurveyUnit.FillFormTime" HeaderText="填表时间" />
<asp:BoundField DataField="SurveyUnit.RespondentID" HeaderText="调查对象编号" Visible="False"/>
<asp:BoundField DataField="Site.SiteID" HeaderText="地点编号" Visible="False"/>
<asp:BoundField DataField="Site.Longitude" HeaderText="经度" />
<asp:BoundField DataField="Site.Latitude" HeaderText="纬度" />
<asp:BoundField DataField="Site.Height" HeaderText="海拔" />
<asp:BoundField DataField="Site.SiteName" HeaderText="地名" />
<asp:BoundField DataField="Happengeneration.HappengenerationID" HeaderText="发生世代编号" Visible="False"/>
<asp:BoundField DataField="Happengeneration.Generation" HeaderText="世代" />
<asp:BoundField DataField="Happengeneration.Morphology" HeaderText="形态特征" />
<asp:BoundField DataField="Happengeneration.Startingtime" HeaderText="起始时间" />
<asp:BoundField DataField="Happengeneration.Endtime" HeaderText="结束时间" />
</Columns>
</asp:GridView>
<br />
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</cc1:ToolkitScriptManager>
</div>
</asp:Content>
源代码是下面的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using DataAccessLayer;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Ui_DataManage_Lifehistory_admin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 实现按时间段查询的查询及其控制;当没输入起始和截止时间时,默认为查询全部记录;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btQuery_Click(object sender, EventArgs e)
{
if (txtStart.Text.Trim() == "" && txtEnd.Text.Trim() == "")
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["theconnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("DT_Happengeneration_Sel_Manage", conn);
cmd.CommandType = CommandType.StoredProcedure;
//SqlDataAdapter sda = new SqlDataAdapter(cmd);
//DataSet ds = new DataSet();
//sda.Fill(ds);
//GridView1.DataSource = ds.Tables[0];//引用强数据集中的DataTable;
//GridView1.DataSource = ds;
SqlDataAdapter myda = new SqlDataAdapter(cmd);
PestsDataSet myds = new PestsDataSet();
conn.Open();
myda.Fill(myds,"DT_Happengeneration_Sel");
GridView1.DataSource = myds.Tables["DT_Happengeneration_Sel"];
GridView1.DataKeyNames = new string[] { "SurveyUnitID,SiteID,HappengenerationID" };
GridView1.DataBind();
//conn.Close();
}
else if (txtStart.Text.Trim() != "" && txtEnd.Text.Trim() == "")
{
//PestDataAccess db = new PestDataAccess();
PestDataAccess.Message("提示:请输入终止时间!", "警告");
}
else if (txtStart.Text.Trim() == "" && txtEnd.Text.Trim() != "")
{
PestDataAccess.Message("提示:请输入起始时间!", "警告");
}
else
{
string sql = "";
sql = "SELECT Respondents.DrosophilaType AS '实蝇类型', SurveyUnit.SurveyUnitID AS '调查单位编号', SurveyUnit.UnitName AS '调查单位名称', SurveyUnit.SurveyPerson AS '调查人',SurveyUnit.FillFormTime AS '填表时间', SurveyUnit.RespondentID '调查对象编号',Site.SiteID AS '地点编号', Site.Longitude AS '经度', Site.Latitude AS '纬度', Site.Height AS '海拔',Site.SiteName AS '地名', Happengeneration.HappengenerationID AS '发生世代编号', Happengeneration.Generation AS '世代', Happengeneration.Morphology AS '形态特征',Happengeneration.Startingtime AS '起始时间', Happengeneration.Endtime AS '结束时间' FROM Respondents INNER JOIN SurveyUnit ON Respondents.RespondentID = SurveyUnit.RespondentID INNER JOIN Site ON SurveyUnit.SurveyUnitID = Site.SurveyUnitID INNER JOIN Happengeneration ON Site.SiteID = Happengeneration.SiteID WHERE SurveyUnit.FillFormTime>='" + txtStart.Text.Trim() + "' AND SurveyUnit.FillFormTime<='" + txtEnd.Text.Trim() + "'";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["theconnection"].ConnectionString);
SqlCommand cmd = new SqlCommand(sql, conn);
//SqlDataAdapter sda = new SqlDataAdapter();
//sda.SelectCommand = cmd;
//conn.Open();
//DataSet ds = new DataSet();
//sda.Fill(ds);
//GridView1.DataSource = ds.Tables[0];//引用强数据集中的DataTable;
////GridView1.DataSource = ds;
SqlDataAdapter myda = new SqlDataAdapter(cmd);
PestsDataSet myds = new PestsDataSet();
conn.Open();
myda.Fill(myds,"DT_Happengeneration_Sel");
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { "SurveyUnitID,SiteID,HappengenerationID" };
GridView1.DataBind();
if (GridView1.Rows.Count <= 0)
{
//没有搜索到记录;
PestDataAccess.Message("提示:没有查询到匹配记录!", "提示");
}
conn.Close();
}
}
}