低学歴プログラマの下剋上

田舎出身、上京プログラマの勉強日誌

SQL Server + ASP.NET(C#) WEBアプリ開発 その1

お客様の要望でタイトルの要件でWEBアプリの構築を依頼されました。
勉強と予習を兼ねてブログにメモを残しながら開発していこうかと思います。

<目次>

■開発環境

 [OS] Windows 10(64bit)
 [DB] SQL Server 2014 Express(Windows 7で使用できる最新版)
 [IDE] Visual Studio 2015 Community

SQL Server 2014 Expressの準備

 1.下記のサイトからダウンロードします。
 ※サポート期間次第ではリンク切れの可能性があります
 
Download Microsoft® SQL Server® 2014 Express from Official Microsoft Download Center

f:id:nsutmry_ngomry:20170713210333p:plain


私の環境は64bitなので64bit版のツール付きでインストールしたいと思います。

f:id:nsutmry_ngomry:20170713211058p:plain

ダウンロード後、案内に沿ってインストールを行います。

f:id:nsutmry_ngomry:20170713212632p:plain
今回はアップグレードではないので上を選択します。

以下、私が行った手順を添付していきたいと思います。
f:id:nsutmry_ngomry:20170713212758p:plain

システム要件を満たすと以下の画面に遷移します。
今回はこのままインストールします。
f:id:nsutmry_ngomry:20170713215836p:plain

インスタンスIDを設定します。
f:id:nsutmry_ngomry:20170713220058p:plain

初めてインストールするので、とりあえずデフォルトでインストールしていきたいと思います
f:id:nsutmry_ngomry:20170713220235p:plain

青塗部分は管理者名です。
f:id:nsutmry_ngomry:20170713220414p:plain

以上でインストールは完了です。
f:id:nsutmry_ngomry:20170713222219p:plain

Visual Studioは既に準備できているので今回は省略させていただきます。

その2ではソリューション構築から書いていきます。

Dismを使った自動ディスクバックアップ作成

ご無沙汰しております。

昨日の仕事終わりに常駐先のプロパーさんからこんな要望をいただきました。
「POS端末のディスクバックアップを作成する作業を自動化したい」

現在手動で行っているのが以下(だったと思う)
1.SYSTEM領域にドライブレター設定
2.SYSTEM領域のバックアップをDismコマンドで作成
3.CドライブのバックアップをDismコマンドで作成

2と3は苦労せずに出来そうだけど、曲者なのは1でした。

1を行うにはDiskpartコマンドを使用します。
Diskpartコマンドを自動化するには、管理者権限での実行が必須です。SYSTEM領域にドライブレターを設定します。

diskpart
rem ボリューム一覧表示
list vol

rem 表示されたボリュームのInfoがシステムのvolumeを選択
select vol=0

rem ドライブレターを設定 埋まってなさそうなSを指定
assign letter=s

今回は上記の内容を自動で行いたいので、一度リダイレクトでlist volを出力して、
正規表現でシステム領域のVolumeを割り出して設定してみました。

@echo off
setlocal enabledelayedexpansion

rem 管理者実行するため、カレントを自分の配置場所に移動
cd /d %~dp0

set vol=nul
for /f "delims=" %%a in (volume.txt) do (
	rem 英語環境の場合は"SYSTEM"や、"Hidden"になるかも
	echo "%%a" | find "システム" >nul 2>&1
	
	if not errorlevel 1 (
		set vol=%%a
	)
)

if not vol==nul (
	rem 半角SP+半角SP+Volumeで0~8
	set vol=%vol:~9,2%
	echo SYSTEM Volume=!vol!
)

rem スクリプト作成
echo select vol=!vol! > script.txt
echo assign letter=s >> script.txt
echo exit >> script.txt

rem SYSTEMボリュームにレター設定
diskpart /s script.txt > diskpart.log

rem あとは設定したSドライブのバックアップをDismを使用して作成する

pause

Dismのコマンドは忘れたので参考URL貼っておきます
https://msdn.microsoft.com/ja-jp/library/hh825072.aspx

お久しぶりです。

ここしばらく更新していなかったので一言。

現在転職活動をしておりますので、
終わり次第地味に手を出し始めたRaspberyy Piについてや、
転職の体験談など投稿していきたいと思います!

サクラエディタで改行を置換

仕事中に資料から文字列変換をかけたいときにかなり重宝しています(^^♪


改行をカンマに変換
f:id:nsutmry_ngomry:20150522135726p:plain

\r\nが改行1回分なので、下記のように指定します。
f:id:nsutmry_ngomry:20150522135733p:plain

【実行結果】
f:id:nsutmry_ngomry:20150522135742p:plain


更に、改行2回分を変換する場合

f:id:nsutmry_ngomry:20150522140019p:plain

上記と同じ方法で変換しようとすると…
f:id:nsutmry_ngomry:20150522140051p:plain



残念ながら認識してくれないんです(´・ω・`)



で、代わりに私はこのように置換しています!!
f:id:nsutmry_ngomry:20150522140211p:plain

やり方自体は上記の方法と同じです。
f:id:nsutmry_ngomry:20150522140255p:plain

↑このように変換した後にカンマ2個を1個に置換します。
f:id:nsutmry_ngomry:20150522140323p:plain


【実行結果】
f:id:nsutmry_ngomry:20150522135742p:plain

SQL 空文字(String.empty)とNULLの判定

かなり初歩的ですが、SQLにて空文字、NULLの判定について記事を書きます。

C#,VBなど、.netでよく使うString.IsNullOrEmptyと同じ意味合いのものは一番最後です。

-- NULL判定

SELECT ID,NAME

FROM A

WHERE A.ID = NULL

-- 空文字判定
WHERE A.ID = ''
-- ↑シングルクォートで指定する

-- NULLまたは空文字
WHERE A.ID = NULL OR A.ID = ''

【Java】 Stringからchar[]へ変換

前回の記事に関連して書いておきます。

// Stringをchar[]へ変換
String str = "test";
char[] ch = str.toCharArray();

// char[]をStringへ変換
String str1 = new String(ch);

【Java】 intとcharの変換

良く忘れるのでメモ書き程度に記しておきます。

//  charからint
char c = '9';
int intC = Character.getNumericValue(c);

// intからchar
int i = 9;
char charI = (char)i;