【发布时间】:2017-02-08 13:02:37
【问题描述】:
我在 SQL-Server2008 中使用存储过程。 C#中实现的代码如下:
SqlConnection con = new SqlConnection("...");
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("sp_point", con);
da.SelectCommand = cmd;
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
da.Fill(dt);
dataGridView1.DataSource = dt;
我的数据库中的日期时间格式基于日期、小时、分钟、秒和毫秒。 列也显示毫秒。 如果我想显示毫秒,我应该如何修改代码?
编辑:
我的存储过程:
USE [Diagnose]
GO
/****** Object: StoredProcedure [dbo].[sp_point] Script Date: 02/09/2017 14:04:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[sp_point]
as
SELECT dbo.Station.StationName, dbo.SPointState.SPointStateName, dbo.Point.PointName, dbo.PointState.PointStateName, dbo.PositionPoint.PositionPointName,
dbo.RouteType.RouteTypeName, dbo.PartOfRoute.PartOfRoute AS PartOfRoute, dbo.PointPacket.PointPacketID AS PointPacketID, dbo.PointPacket.Operator AS Operator,
dbo.PointPacket.BlockedPoint AS BlockedPoint, dbo.PointPacket.WarningLable AS WarningLable, dbo.PointPacket.EmergencyLock AS EmergencyLock,
dbo.PointPacket.SendPointStateFromIO AS SendPointStateFromIO, dbo.PointPacket.SendPointPositionFromIO AS SendPointPositionFromIO, dbo.PointPacket.HealthSendFromIO AS HealthSendFromIO,
dbo.Date.Date AS Date_Time
FROM dbo.PointPacket INNER JOIN
dbo.SPointState ON dbo.PointPacket.SPointState = dbo.SPointState.SPointStateID INNER JOIN
dbo.Station ON dbo.PointPacket.StationCode = dbo.Station.StationID INNER JOIN
dbo.Date ON dbo.PointPacket.Date = dbo.Date.DateID INNER JOIN
dbo.Point ON dbo.PointPacket.PointCode = dbo.Point.PointID INNER JOIN
dbo.PointState ON dbo.PointPacket.PointState = dbo.PointState.PointStateID INNER JOIN
dbo.PositionPoint ON dbo.PointPacket.PositionPoint = dbo.PositionPoint.PositionPointID INNER JOIN
dbo.RouteType ON dbo.PointPacket.RouteType = dbo.RouteType.ID INNER JOIN
dbo.PartOfRoute ON dbo.PointPacket.PartOfRoute = dbo.PartOfRoute.ID
select * from PointPacket
【问题讨论】:
-
您是否尝试过手动运行
sp_point程序?它返回毫秒吗?如果是,请查看 datagridview 中显示该日期的列的DefaultCellStyle.Format属性 - 可能毫秒从列掩码中排除。 -
您可以在从存储过程转换为 varchar 后返回该列。
-
注意“sp_”前缀:stackoverflow.com/questions/20530211/…
-
我在 datagridview 中看不到 DefaultCellStyle.Format 的毫秒数
标签: c# sql-server datetime stored-procedures