私は現在、このプログラムを作成しており、ユーザーは開始日と終了日を入力します。その後、プログラムはデータベースのレコードをデータベースから検索します。データベースの開始日は> =ユーザ入力の開始日、dbの終了日は< =ユーザ入力の終了日となります。SQL Serverのdatetimeを比較する際にエラーが発生しました
Dim dateStr As DateTime = dtpStart.Value
Dim dateEnd As DateTime = dtpEnd.Value
MsgBox(dateStr)
con.ConnectionString = "Data Source=MKZSA065\SQLSERVER2008R2,1499;Initial Catalog=inv"
con.Open()
MsgBox("server connected")
cmd.Connection = con
'cmd.CommandText = "Select column_name as 'Columnname', data_type as'Datatype' from information_schema.columns where table_name = 'inv.dbo.InOutTransaction' AND column_name = 'inv.dbo.InOutTransaction.startDate'"
'cmd.CommandText = "Select inv.dbo.InOutTransaction.refNo, inv.dbo.Case_Status.deployedBy, CONVERT(varchar(10), inv.dbo.InOutTransaction.startDate, 120) as startDate, CONVERT(varchar(10), inv.dbo.InOutTransaction.endDate, 120) as endDate, inv.dbo.InOutTransaction.item FROM inv.dbo.InOutTransaction inner join inv.dbo.Case_Status ON inv.dbo.InOutTransaction.refNo = inv.dbo.Case_Status.refNo WHERE inv.dbo.InOutTransaction.refNo LIKE 'L%' AND inv.dbo.InOutTransaction.status LIKE 'Out'"
cmd.CommandText = "Select inv.dbo.InOutTransaction.refNo, inv.dbo.Case_Status.deployedBy, CONVERT(varchar(10),inv.dbo.InOutTransaction.startDate,120) as startDate, CONVERT(varchar(10),inv.dbo.InOutTransaction.endDate,120) as endDate, inv.dbo.InOutTransaction.item from inv.dbo.InOutTransaction inner join inv.dbo.Case_Status ON inv.dbo.InOutTransaction.refNo = inv.dbo.Case_Status.refNo WHERE inv.dbo.InOutTransaction.refNo LIKE 'L%' AND inv.dbo.InOutTransaction.status LIKE '%Out%' AND inv.dbo.InOutTransaction.startDate >= '" & dateStr & "' AND inv.dbo.InOutTransaction.endDate <= '" & dateEnd & "'"
Dim lrd As SqlDataReader
Dim li As ListViewItem
lrd = cmd.ExecuteReader()
Dim num As Integer = 1
While lrd.Read()
ListView1.BeginUpdate()
li = ListView1.Items.Add(num.ToString)
li.SubItems.Add(lrd("refNo").ToString)
li.SubItems.Add(lrd("deployedBy").ToString)
li.SubItems.Add(lrd("startDate").ToString)
li.SubItems.Add(lrd("endDate").ToString)
li.SubItems.Add(lrd("item").ToString)
'li.SubItems.Add(lrd("column_name").ToString)
'li.SubItems.Add(lrd("data_type").ToString)
num += 1
ListView1.EndUpdate()
ListView1.EnsureVisible(ListView1.Items.Count - 1)
End While
文字列
から日時を変換するとき
変換が、私は関数datestrは想像どのように私は何をすべき:(
日付 'date'、' datetime'、またはあなたのDBMSで使用可能な他の日付データ型に適切なデータ型を使用してください。 – HoneyBadger
IF - これは難しいことです。実際に日付のために文字列を使用する必要がある場合は、必ずISO形式を使用してください。 –
誰もが知っているので、そのパスワードを変更することを検討したいと思うかもしれません。 –