我在SQL Server上托管了一个数据库表。
问题出在“日期”类型的列上。当使用我的存储过程从数据库中提取数据时,将显示日期,并附加12:00:00 AM的时间。
例如,日期“ 30/10/2015”将仅作为日期存储在数据库中,但是如上所述,当将日期“ 30/10/2015”添加到网格视图时,会将时间12:00:00 AM附加到该日期。我只希望日期显示在gridview中,而不是时间。
以下是将数据库中的数据绑定到gridview的代码:
private void BindGridEvent()
{
string constr = System.Configuration.ConfigurationManage.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("EventInfo_CRUD"))
{
cmd.Parameters.AddWithValue("@Action", "SELECT");
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
GridView2.DataSource = dt;
GridView2.DataBind();
}
}
}
}
}
这是用于从数据库中提取数据的存储过程:
[dbo].[EventInfo_CRUD]
@Action VARCHAR(10)
,@EventID INT = NULL
,@Location nvarchar(MAX) = NULL
,@EventName nvarchar(MAX) = NULL
,@EventDescription nvarchar(MAX) = NULL
,@EventDate date = NULL
,@EventTime time = NULL
,@ImageUrl nvarchar(MAX) = NULL
AS
BEGIN
SET NOCOUNT ON;
--SELECT
IF @Action = 'SELECT'
BEGIN
SELECT
EventID,Location, EventName, EventDescription,
EventDate, EventTime, ImageUrl
FROM EventInformation
END
帮助将不胜感激的家伙!谢谢!
当我需要在gridview中格式化DateTime列时,以下内容对我有用
<asp:BoundField DataField="TRANDATE" HeaderText="Document Date" dataformatstring="{0:MM/dd/yyyy}" htmlencode="false" />
对于模板字段,请尝试以下操作:
<%# Bind("Document Date", "{0:dd/MM/yyyy}") %>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句