私は、ユーザー名が1でその場所が過去24時間以内に追加されたデータベースからデータを入力したいグリッドボックスを持っています。SQLクエリからのデータをグリッドビューasp.net
私はSQLクエリをテストしましたが、正常に動作していますが、グリッドボックスにデータを配置しようとすると何も起こりません。ここで
私はaspx.csファイルで使用しているコードです:
public partial class last24hours : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data Source = sql2008.net.dcs.hull.ac.uk; Initial Catalog = rde_514872; Integrated Security = True");
protected void Page_Load(object sender, EventArgs e)
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT Location FROM StaffLocation WHERE [Date and Time]>= getdate()-1 AND [Username] = '1'";
cmd.Connection = con;
DataTable dt = new DataTable();
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
gridView1はノーSQLソースで作った空のグリッドビューです。
これは、GridViewのは、ASPXファイルで初期化される方法です。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
</asp:GridView>
実行付属のデバッガでプログラム、ブレークポイントを設定し、あなたがGridViewコントロールにバインドするとき、 'dt'を検査?データはありますか? 'GridView'の宣言はどのように見えますか? – mason
私はあなたのコードをテストし、うまく動作します。接続が正しくないか、クエリによってデータが返されません。私は 'getdate() - 1'と思っています。それは変です。 SQLの 'DATEADD'を使うのが良いです。 – VDWWD
dtが正しい表を表示していますが、そこにエラーがある場合のグリッドビュー用のaspxコードを追加します – lCopp