vb txtファイル名に年月日、日時を追加する方法
こんにちは、現在visual studio 2013 で勉強をしている初心者です。現在CSVデータの取り込みの際、重複した値をtxtファイルに保存しているのですがそのファイル名に「年月日、日時」を追加したいのですがやり方がわかりません。教えていただきたいです。
重複リスト.txt 2019/7/26 10:00みたいなのをイメージしているのですが・・・
以下にソースを貼っておきます。
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button_torikomi.Click
'OpenFileDialogクラスのインスタンスを作成
Dim ofd As New OpenFileDialog()
Dim strSQL As String = Nothing
Dim DT As New DataTable
Dim clsdb As CLS_db 'クラスの呼び出し SQL接続
clsdb = New CLS_db
'はじめに表示されるフォルダを指定する
ofd.InitialDirectory = "C:\"
'[ファイルの種類]に表示される選択肢を指定する
ofd.Filter = "CSVファイル(*.csv;*.csv)|*.csv;*.csv|すべてのファイル(*.*)|*.*"
'[ファイルの種類]ではじめに選択されるものを指定する
'2番目の「すべてのファイル」が選択されているようにする
ofd.FilterIndex = 0
'タイトルを設定する
ofd.Title = "開くファイルを選択してください"
'ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
ofd.RestoreDirectory = True
ofd.CheckFileExists = True
ofd.CheckPathExists = True
'ダイアログを表示する
If ofd.ShowDialog() = DialogResult.OK Then
'OKボタンがクリックされたとき、選択されたファイル名を表示する
Console.WriteLine(ofd.FileName)
Dim sr As New System.IO.StreamReader(ofd.FileName, _
System.Text.Encoding.GetEncoding("shift_jis"))
'内容を一行ずつ読み込む
Dim sw As String = sr.ReadLine()
While sr.Peek() > -1
Dim s As String = sr.ReadLine()
Dim parts As String()
parts = Split(s, ",")
strSQL = "SELECT カナ氏 FROM 従業員登録 WHERE 従業員コード = " & parts(0) & ""
'重複処理
DT = clsdb.GetDataTable(strSQL)
If DT.Rows.Count > 0 Then
'Shift JISで書き込む
Dim swt As New System.IO.StreamWriter("C:\test\重複リスト.txt", _
True, _
System.Text.Encoding.GetEncoding("shift_jis"))
'重複リスト.txtの内容を書き込む()
swt.Write(parts(0))
swt.Write(","c)
swt.Write(parts(1))
swt.Write(","c)
swt.Write(parts(2))
swt.Write(","c)
swt.Write(parts(3))
swt.Write(","c)
swt.Write(parts(4))
swt.Write(","c)
swt.Write(parts(5))
swt.Write(","c)
swt.Write(parts(6))
swt.Write(","c)
swt.Write(parts(7))
swt.Write(","c)
swt.Write(parts(8))
swt.Write(","c)
swt.WriteLine(parts(9))
'閉じる()
swt.Close()
Else
strSQL = "INSERT INTO 従業員登録(従業員コード,カナ氏,カナ名,氏,名,性別,生年月日,入社日,部署,PASSWORD) VALUES ( '" & parts(0) & "','" & parts(1) & "','" & parts(2) & "','" & parts(3) & "','" & parts(4) & "','" & parts(5) & "','" & parts(6) & "','" & parts(7) & "', '" & parts(8) & "','" & parts(9) & "')"
Try
clsdb.Execute(strSQL)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
MsgBox(strSQL)
End While
'閉じる
sr.Close()
If DT.Rows.Count > 0 Then
MsgBox("従業員コードが同じです", MessageBoxIcon.Warning, "重複エラー")
Else
MsgBox("追加しました。", MessageBoxIcon.Asterisk, "追加")
End If
End If
'更新テーブル再読み込み 'SQL構文を指定します。
strSQL = "select * from 従業員登録"
'即反映
Try
clsdb = New CLS_db
DT = clsdb.GetDataTable(strSQL)
'データグリッドビューのデータソースを設定
Me.DataGridView1.DataSource = DT
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
DataGridView1.ReadOnly = True
'元に戻す
Me.Cursor = Cursors.Default
End Sub
End Class
お礼
ありがとうございます。 初歩的な間違いでした(汗) テーブル名をファイル名のみにしたらうまく動作しました。