私はSQL-Server2008でStored-Procedureを使用しています。次のように C#で実装されたコードは、次のとおりです。SQLの値を変更する方法
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;
私のデータベースでDateTime型書式が日付、時間、分、秒、ミリ秒単位に基づいています。 列にはミリ秒も表示されます。 ミリ秒を表示する場合は、コードをどのように変更する必要がありますか?
編集:
私のストアド・プロシージャ:
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のcolumnの 'DefaultCellStyle.Format'プロパティを見てください。おそらくミリ秒がカラムマスクから除外されます。 –
ストアドプロシージャからvarcharに変換した後にその列を返すことができます。 –
接頭辞 "sp_"に注意してください:http://stackoverflow.com/questions/20530211/avoid-naming-user-stored-procedures-sp-or-sp – Tanner