2021-03-01から1ヶ月間の記事一覧

TUtils

VB

Imports System.Reflection Public Class TUtils(Of T As New) ''' <summary> ''' TClassの各Propertyにセットされた属性情報から、ファイル出力に関するパラメータを取得し ''' パラメータ値に応じて出力対象項目のフィルタリング、ヘッダ名の取得、出力項目の順序も</summary>…

DataUtils

VB

Imports System.Data.SqlClientImports System.Reflection Module DataUtils ''' <summary> ''' Statusのマスタ値をデータテーブルで取得 ''' </summary> ''' <param name="AddBlankRow">先頭にブランク行を追加する場合True</param> ''' <returns></returns> Public Function GetEnumStatus(ByVal Optional AddBlankRow As Boolean = …

インターフェース:ITAESSet

VB

Public Interface ITAESSet Property DecryptedText As String Property EncryptedText As String Property Key As String Property Iv As String Property Salt As String Property KeyCreatePassPharse As StringEnd Interface

SecurityUtil

VB

Imports System.IOImports System.Security.CryptographyPublic Class SecurityUtils '------------------------------------------------------------------------ '---AESについて '--------------------------------------------------------------------…

SQLServerのバックアップリストアについて

SQL

Sql server のバックアップとリストアの基礎 from Masayuki Ozawa www.slideshare.net

Window関数1

SQL

行同士の比較やサマリが必要な場合や、 単独列でサマリ値などが必要な場合に使おう。 qiita.com ■以下のテーブルに、色んなWindow関数を当ててみる ■各行にScoreの合計を単純にセット SELECT No,student_id, subject, score, sum(score) over()FROM TestScor…

ストアドの色々

SQL

■引数を生成 ・Create句の直後に記述 CREATE PROCEDURE [dbo].spStudy2 @Master NVARCHAR(100)= NULL '引数 ,@ReturnValue NVARCHAR(100) OUTPUT '戻り値AS ■IF文 ・ELSE IF句はそもそもない ・IF文内の適用範囲(IFはどこまでか、ELSE IFはどこまでか)はBEGI…

ストアドの例

SQL

ALTER PROCEDURE [dbo].spStudy2 /* 引数はストアド名の後、AS句前に宣言 */ @Master NVARCHAR(100)= NULL /* OUTPUTを付与した引数は戻り値をアプリに返せる */ ,@ReturnValue NVARCHAR(100) OUTPUT AS /* IF分岐 */ /* ELSEIF句はない。 ELSE IF */ /* 各…

行列入れ替え

SQL

(*)数値項目を合算して列に~ならPIVOT句とかを使えば良いです。 以下は、非数値項目の例 ⇒https://yyuuiikk.org/entry/590 ■以下の様なテーブルの行列を入れ替える 〇パターン1 ・キー(AgmtId)だけを抽出したテーブル(AgmtFamily A)に対して、 キーと各変換…

直積2 単一テーブルでのCROSS JOIN

SQL

■直積は、単一テーブルの各列間でも取得することができる。 meetingsテーブル 上記テーブルから、meetingとpersonの直積を求める SELECT DISTINCT m1.meeting,m2.person FROM meetings m1 CROSS JOIN meetings m2 本来の直積はDistinct無しで以下の様なデー…

直積(CROSS JOIN

■データ間の全ての組み合わせを取得することを直積という。 users items(owner_idとusers.idは連結キーとする) 上記の様なテーブルがある場合に、両テーブル間の全組み合わせを取る。・SELECT U.*,I.* FROM users u CROSS JOIN items I 通常、LEFT OUTER JOI…

Exists句

SQL

■Exsists句は、INの様に ・条件に一致するもの ・条件に一致しないもの といったデータを高速に抽出することができる。 ex1) ①上記データから、全教科50点以上のStudent‗idを抽出する SELECT DISTINCT T1.student_id FROM TestScore AS T1 WHERE NOT EXISTS(…

文字列長を正確に取得する

VB

■string.Lengthで文字列長を取得はできるが、一部の特殊な文字などは 正確に取得することができない。 ex) 𩸽:ほっけは一文字だが、Lengthなど2文字になってしまう。 正確に取得するには、StringInfoを使用する。 Dim si As New StringInfo(str) Return si.L…

トランザクションログの切り捨て、圧縮

SQL

USE [対象のDB] DBCC SHRINKFILE('論理ログファイル名', 0) ■初期ファイルサイズ(例:200MB)と自動拡張サイズ(例:100MB毎)を変更 ALTER DATABASE [対象のDB]MODIFY FILE (NAME=論理ログファイル名,SIZE=200MB,MAXSIZE=UNLIMITED,FILEGROWTH=100MB); social.…

getter/setterを使うなとは

単純に絶対にgetter/setterを設けるなということではなく、 必要な情報を持つクラス自体に必要な処理をさせ、メソッド経由でその値を受けるべき。getterを呼び出すような処理を実装している場合、その処理は本来呼び出されるクラス側で実装されるべきだとい…

ジェネリックなインターフェース

VB

■定義 Public Interface ITDList(Of T) Function DataLists() As List(Of T) End Interface ■使用例 Public Class TDUserInfo Inherits BaseDAO Implements ITDCount, ITDList(Of TUserInfo) Public Function DataLists() As List(Of TUserInfo) Implements …

Nullableに対するリフレクション

Nullableの型に対して型情報を取得しようとすると、"Nullable"が返ってきてしまう。元の型名を取得するには、Nullable.GetUnderlyingTypeを使用する。 例) ・あるproperty:propがDatetime?だったとする。 ⇒Nullable.GetUnderlyingType(prop.PropertyType).n…

NUll判定

VB

■Null(Nothing)でない場合に、そのオブジェクトに対して処理を行うといった場合の書き方 ・昔 If myObj Is Nothing Then ’Nothingじゃない場合の処理 myobj.test = "test" End If ・今 Null条件演算子を使って以下の様に簡潔に書ける myobj?.test = "test" m…

Visual Studioで検索時、Designer等を検索対象外にする。

VB

①Shift + Ctrl + Fで以下のウィンドを表示 ②ファイルの種類に、以下の文字列を入力 !*\bin\*;!*\obj\*;!*\.*;!*.Designer.vb;!*.resx;

多次元配列の要素数を取得する。

■多次元配列の各要素の数は、GetLength()で取得可能。 ・配列変数.GetLength(x):xには要素を取得したい次元を指定

Disposeの実装

VB

#Region "IDisposable Support" Private disposedValue As Boolean = False ' 重複する呼び出しを検出するには ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) If Not disposedValue Then If disposing Then ' TODO: マネージ状態…

匿名クラスを型指定する

VB

LINQでSelectする際等に匿名クラスを使用する。 その際、以下の様に指定すると戻り値は当然匿名型となる。 testList = list.Select(Function(x) New With {.GrantSum, x.UserGrant}) Newの後に型名()を指定すると、戻り値がその型となる。 testList = list.S…