日付を取得してデータベースに追加しようとしています。
これを行うために、私は(サンプルとして..)を使用しています
If vDay = "TUESDAY" Or vDay = "2" Then
vDateEnd = DateTime.Now.AddDays(-2)
End If
次に、vDateEnd を SQL に入れたいと思います。「09/16/2012」をハードコードすると動作しますが、(コメントアウトされた行からわかるように) 無駄に遊んでいます。
'report not found so we need to create one
'Create dates in the report if doe not exist
'### Update
Dim ConnectionString3 As String = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("mySQLConnectionString").ConnectionString
Dim dsNames3 As SqlDataSource
Dim sSQL3 As String
dsNames3 = New SqlDataSource
dsNames3.ConnectionString = sConnString
sSQL3 = "spWeeklyReportDatesCreate"
dsNames3.UpdateCommand = sSQL3
dsNames3.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure
dsNames3.UpdateParameters.Clear()
dsNames3.UpdateParameters.Add("DateStart", "09/16/2012")
'dsNames3.UpdateParameters.Add("DateEnd", "09/01/2013")
dsNames3.UpdateParameters.Add("DateEnd", (Mid(Date.Now.AddDays(-2), 1, 10)))
' dsNames3.UpdateParameters.Add("DateEnd", DateTime.Now.AddDays(-2).ToShortDateString("mm/dd/yyyy"))
dsNames3.UpdateParameters.Add("RunCompleted", "N")
dsNames3.Update()
dsNames3 = Nothing
ストアド プロシージャ
USE [db]
GO
/****** Object: StoredProcedure [dbo].[spWeeklyReportDatesCreate] Script Date: 16/09/2013 15:23:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spWeeklyReportDatesCreate]
@DateStart smalldatetime,
@DateEnd smalldatetime,
@RunCompleted nvarchar(1)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
INSERT INTO [tblweeklyreports]
(DateStart, DateEnd,RunCompleted)
VALUES
(@DateStart, @DateEnd,@RunCompleted)
--select @AnswerID=@@IDENTITY
END
Datebase - both set to 'datetime' at the moment though all of these parameters have been played with i.e. all SmallDate, DateTime, Date etc...