システム日付取得[VB 2013]

Visual Basic 2010/2008 やさしいADO.NET DBプログラム

   やさしい VB2010/2008 ADO.NET

SQL Server 2008から追加されたDate型を使うと、現在のシステム日付のみを取得できます。

SELECT CONVERT(DATE, GETDATE())

GETDATE関数で取得した日付時刻を、CONVERT関数を使って、Date型に変換すれば、システム日付のみ取得できます。

Date型は、SQL Server 2008から追加された新しいデータ型で、年月日のみを格納します。

画面例

ADO.NETを使って、現在のシステム日付のみを取得するプログラムを作成します。フォームにラベルとボタンを貼り付けます。

このラベルに、現在のシステム日付を文字列に変換して表示します。

DateTime型のシステム日付時刻を、GETDATE関数で取得し、CONVERT関数でDate型に変換します。

SQL文は、"SELECT CONVERT(DATE, GETDATE())" とします。FROM句を記述する必要はありません。

CStr(now.ToString("yyyy年MM月dd日")) と編集すれば、2009年08月24日と表示されます。

Option Strict On
Imports System.Data.SqlClient

Public Class Form1

    Private Sub Button1_Click _
        (ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button1.Click

        Try
            Using con As New SqlConnection
              Using cmd As New SqlCommand
                  ' 接続文字列の設定(SQL Server 2008 Express Edition)
                  con.ConnectionString = _
                        "Data Source=.\SQLEXPRESS;" & _
                        "Integrated Security=True;" & _
                        "Connect Timeout=30;" & _
                        "User Instance=True"
                  ' SqlCommand.Connectionプロパティの設定
                  cmd.Connection = con
                  ' DB接続
                  con.Open()
                  ' SQL文の設定
                  cmd.CommandText = "SELECT CONVERT(DATE, GETDATE())"
                  ' システム日付をSqlCommand.ExecuteScalarで取得
                  Dim now As Date = CDate(cmd.ExecuteScalar())
                  ' システム日付をラベルに表示
                  Me.LblNow.Text = CStr(now)
              End Using
            End Using

        Catch ex As Exception
            ' 例外が発生した時の処理
            MessageBox.Show(ex.ToString)
        End Try

    End Sub

End Class

接続文字列は、できるだけアプリケーション構成ファイルapp.configから取得するようにしてください。


Copyright© やさしいVB2012/2010 ADO.NET. All rights reserved.