 |
|
ติดปัญหาการ ค้นหาข้อมูลระหว่างวันที่ ให้ข้อมูลแสดงใน gridview control ครับ |
|
 |
|
|
 |
 |
|
คือผมไม่รู้วิธีการส่งค่า ที่ query ขึ้นมาจาก database ส่งไปให้ทาง gridview แสดงผลออกมาอะครับ
หน้า TestDate.aspx.vb
Imports System.Data
Imports System.Data.DataTable
Imports System.Data.SqlClient.SqlDataReader
Imports System.Web.UI.WebControls.SqlDataSource
Partial Class TestDate
Inherits System.Web.UI.Page
Dim connection As New clsMSSQL
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim datet1 As String
Dim datet2 As String
datet1 = Mid(BasicDatePicker1.Text, 7, 4) + Mid(BasicDatePicker1.Text, 4, 2) + Mid(BasicDatePicker1.Text, 1, 2)
datet2 = Mid(BasicDatePicker2.Text, 7, 4) + Mid(BasicDatePicker2.Text, 4, 2) + Mid(BasicDatePicker2.Text, 1, 2)
Dim str As String
str = "select * from tb_receive where LEFT(re_date,4)+SUBSTRING(re_date,4,2)+RIGHT(re_date,2) BETWEEN @date1 AND @date2"
Dim dt As New DataTable()
dt = connection.QueryDataTable(str)
End Sub
End Class
ที่หน้า TestDate.aspx ผมสร้าง gridview ขึ้นมาลอยๆอันนึงอะครับ แต่ไม่รุ้จะเอาค่าจากหน้า TestDate.aspx.vb ยังไงอะครับ รบกวนผู้รู้ช่วยทีครับ
TestDate.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<bdp:basicdatepicker id="BasicDatePicker1" runat="server" dateformat="dd/MM/yyyy"></bdp:basicdatepicker>
<bdp:basicdatepicker id="BasicDatePicker2" runat="server" dateformat="dd/MM/yyyy"></bdp:basicdatepicker>
<asp:Button ID="Button1" runat="server" Text="Button" /><br />
<br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
ขอบคุณครับ
Tag : .NET, Ms SQL Server 2005, Web (ASP.NET)
|
|
 |
 |
 |
 |
Date :
2013-11-13 10:20:53 |
By :
ผู้เริ่มต้น |
View :
976 |
Reply :
10 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลืมบอกครับ ผมเก็บวันที่ใน database เป็น string ครับ
|
 |
 |
 |
 |
Date :
2013-11-13 10:25:13 |
By :
ผู้เริ่มต้น |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าวันที่เก็บแบบ string แล้วเป็นปัญหา แล้วทำไมไม่เปลี่ยนไปเก็บเป็น datetime ล่ะ
|
 |
 |
 |
 |
Date :
2013-11-13 12:12:13 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอคำแนะนำด้วยครับ
ปัญหาของผมจริงๆคือ จะส่งค่าที่ query มาได้ ไปแสดงค่าใน gridview ยังไงอะครับ
|
 |
 |
 |
 |
Date :
2013-11-13 12:56:48 |
By :
ผู้เริ่มต้น |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
dt = connection.QueryDataTable(str)
GridView1.DataSource = dt
GridView1.DataBind()
|
 |
 |
 |
 |
Date :
2013-11-13 14:41:18 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอกด ค้นหา แล้วมันขึ้นอย่างงี้อะครับ

|
 |
 |
 |
 |
Date :
2013-11-13 16:17:32 |
By :
ผู้เริ่มต้น |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
str = "select * from tb_receive where LEFT(re_date,4)+SUBSTRING(re_date,4,2)+RIGHT(re_date,2) BETWEEN '" & date1 &"' AND '" & date1 &"'
|
 |
 |
 |
 |
Date :
2013-11-13 17:01:09 |
By :
hansolasus |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ
แต่ตอนนี้ผมปรับเปลี่ยน code ดังด้านล่าง
TestDate.aspx.vb
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim datet1 As String
Dim datet2 As String
datet1 = Mid(BasicDatePicker1.Text, 7, 4) + Mid(BasicDatePicker1.Text, 4, 2) + Mid(BasicDatePicker1.Text, 1, 2)
datet2 = Mid(BasicDatePicker2.Text, 7, 4) + Mid(BasicDatePicker2.Text, 4, 2) + Mid(BasicDatePicker2.Text, 1, 2)
Dim str As String
str = "select * from tb_receive where LEFT(re_date,4)+SUBSTRING(re_date,4,2)+RIGHT(re_date,2) BETWEEN datet1 AND datet2"
Dim dt As New DataTable()
dt = connection.QueryDataTable(str)
GridView1.DataSource = dt
GridView1.DataBind()
แต่มันก็ยังขึ้น error เดิมอะครับ invalid column name datet1 กับ invalid column name datet2
แล้วส่วน code ของ gridview ต้องเพิ่มอะไรรึเปล่าครับ
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2013-11-14 09:08:33 |
By :
ผู้เริ่มต้น |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เราไม่ค่อยอยากทำแบบนี้เท่าไหร่
มันผิดตั้งแต่ไม่ใช่ datetime แล้ว เพราะเดี๋ยวก็ติดตรงอื่นอีก
ใช้เป็น string มันจัดการยาก ถ้ายังจะใช้ string อยู่คราวหน้าไม่ตอบแล้วนะ
Code (VB.NET)
Dim con As New SqlConnection(".............................................")
Dim str As String : str = "select * from tb_receive where LEFT(re_date,4)+SUBSTRING(re_date,4,2)+RIGHT(re_date,2) BETWEEN @datet1 AND @datet2"
Dim cmd As New SqlCommand(str, con)
cmd.Parameters.AddWithValue("@datet1", datet1)
cmd.Parameters.AddWithValue("@datet2", datet2)
Dim dt As New DataTable()
Dim adt As New SqlDataAdapter(cmd)
adt.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()
|
 |
 |
 |
 |
Date :
2013-11-14 09:42:35 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
str = "select * from tb_receive where LEFT(re_date,4)+SUBSTRING(re_date,4,2)+RIGHT(re_date,2) BETWEEN '"+datet1+"'"+" AND '"+ datet2+"'"
datet1 datet2 มันเป็นค่าที่รับมาจากตัวแปรใช่ไม๊คะ ต้องใส่ ไอ้ ' ' ครอบให้มันด้วยค่ะ
|
 |
 |
 |
 |
Date :
2013-11-14 09:46:36 |
By :
PiggyGirl |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ ^^
|
 |
 |
 |
 |
Date :
2013-11-14 10:21:07 |
By :
ผู้เริ่มต้น |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|