You can do this easily with a stored procedure. The example below calls a stored procedure named "[CGTest.SetTime]" with a DateTime parameter called "@DateTimeNow". The stored procedure inserts the current time into a table called CGTime.
Here's the C# code ( you'll need to fix up the connection string ):
Code:
using( SqlConnection cn = new SqlConnection( "Server=myMachineName;Trusted_Connection=true;database=myDatabase" ) )
{
cn.Open( );
using( SqlCommand cmd = new SqlCommand( "[CGTest.SetTime]", cn ) )
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameterCollection sqlParams = cmd.Parameters;
sqlParams.AddWithValue( "DateTimeNow", DateTime.Now );
cmd.ExecuteNonQuery( );
}
}
Sql Script for table:
Code:
USE [myDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CGTime](
[TimeID] [int] IDENTITY(1,1) NOT NULL,
[Current] [datetime] NOT NULL,
CONSTRAINT [PK_CGTime] PRIMARY KEY CLUSTERED
(
[TimeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Sql Script for stored procedure:
Code:
USE [myDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Arjay
-- Create date: 2008-08-28
-- Description: Test sproc to insert a datetime
-- =============================================
CREATE PROCEDURE [dbo].[CGTest.SetTime]
@DateTimeNow DATETIME
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [dbo].[CGTime] ([Current])
VALUES ( @DateTimeNow)
END
Bookmarks