2021年2月23日火曜日

SQL Server DATETIME型の日時をNULLに更新できなかった件について

おはようございます。
こんにちは。
こんばんは。

はじめまして、ドラゴンです。
初投稿なので、すごく緊張しています!

SQL ServerでDATETIME型の日付を
NULLに更新できずはまってしまったので、記載します。

こんなテーブルがあったとします。

Aテーブル

ID 名前 日付
1 太郎 2021/02/18 12:00:00

このSQLを実行したところ…

UPDATE
  A
SET
  日付 = ''
;

Aテーブル

ID 名前 日付
1 太郎 1900/01/01
日付がNULLに変わっていませんでした。
しかも、「1900/01/01」という日付に代わっていて驚きましたね。

DATETIME型の日時をNULLに更新したいときは、
明示的にNULLを書く必要があるみたいですね。

UPDATE
  A
SET
  日付 = NULL
;

上記のSQLを実行すると、期待通りの結果がでて、ほっとひと安心です。

Aテーブル

ID 名前 日付
1 太郎 (NULL)

最後に

これからはDATETIME型の日付をNULLに更新したいときに、
はまらなくて済むのでいい勉強になりました。
SQLは私が最も好きな言語でもあるので、どんどん知識を蓄えていきたいですね。
最後まで読んでいただきありがとうございました。
今後ともよろしくお願いいたします。

それでは、ドラゴンでした~~~。

2021年2月21日日曜日

Visual Studio Express で WindowsXP対応アプリを作成する方法

こんにちは。ひっくです。

今回はVisual Studio Expressを使用してC++でWindowsXP対応のアプリを
作成するうえで、必要な手順を備忘録として残しておきます。

前提条件


 ・Visual Studio Dev Essentials を利用して以下をインストール
    ・Visual Studio Express 2012 for DeskTop
    ・Visual Studio 2012 Update 4

実行時エラーの発生


Visual Studio 2010 まででアプリケーションを作成した場合、
プラットフォームツールセットを特に意識しなくても、WindowsXPで実行可能なExeを作成することは可能です。

ただ、Visual Studio 2012 以降では、この設定を意識しなければなりません。

もしこの設定を変更せずに作成したExeを実行しようとすると、
「(実行Exeのパス)は有効な Win32 アプリケーションではありません。」と
エラーメッセージが表示され、実行することができません。

対処法(プラットフォームツールセットの設定)



既定のプラットフォームツールセットは、上記のようになっています。
そこで、プラットフォームツールセットを「Visual Studio 2012 - Windows XP (v110_xp)」に変更します。

Visual Studio をインストールしただけでは、上で選択中のプラットフォームツールセットを選択できないため、
前提条件に記載したVisual Studio 2012 Update 4 をインストールする必要があります。

「Windows XP Targeting with C++」が「Visual Studio 2012 - Windows XP (v110_xp)」に
該当する部分となります。

今回はこのへんで。ではまた!

2021年2月13日土曜日

vscodeでPlantUMLを使ってみる [Mac][Windows]

どうも、もりもりです。

以前ブログメンバーのよっしーさんの記事で、仕事先での設計書作成が「脱Excel」の流れになってきてるということで draw.ioの紹介がありましたが今回はUMLをテキストベースで書けるPlantUMLについて紹介したいと思います。

draw.ioの記事はこちら


導入

PlantUMLはJavaが必要なのでまずはJavaを入れてください。Macの方はHomebrewで入れてもOKです。(というかそっちのがラク)
シーケンス図、アクティビティ図以外も使うならGraphvizも必要になるようです。

◆ Macの場合
$ brew install plantuml
$ brew install graphviz

※記事を書いた時点(2021/02/12)ではplantumlのインストール時にgraphvizも一緒に入ったようです。

◆ Windowsの場合
> winget install -e --id Oracle.JavaRuntimeEnvironment
> winget install graphviz

vscodeでプラグインをインストール

拡張機能より「plantuml」と入力して下記画像のプラグインをインストール

動作確認

xxxx.puという拡張子でファイルを作成します。

下記のようにファイルを作成して入力します。

sequence-sample.pu

@startuml
participant "View" as V
participant "User Class" as U

activate V
V -> V: click button
V -> U: create instance
activate U
V -> U: GetUsers()
U --> V: List
deactivate U
V -> V: bind users to GridView
@enduml

option + D(Windowsならalt + D)でプレビュー表示してみると、あらゴイゴイスー。

公式ドキュメントはこちらを。

画像出力

作成したUMLを画像に出力してみましょう。 Command + Shift + P(WindowsならCtrl + Shift + P)で 「uml」と入力します。 「Export Current Diagram」を選択し、「出力形式」を選択します。

markdownファイルに挿入するとこんな感じに。
※Darkテーマだとシーケンス図のメッセージが黒で見えなかったのでLightテーマにしてます。

さいごに

画像出力もできるし慣れてしまえばこっちの方がサクっと作れそうですね。 設計書をMarkdownやasciidocなどで作成してる人はぜひ使ってみてください。 mermaid.jsの方も以前チラッと触ってみたことがあり、同じようなUMLを作成できるのでまた違いなどが判れば紹介したいと思います。

以上、もりもりでした。

2021年2月5日金曜日

YouTubeチャンネルを開設しました!

この度、会社のYouTubeチャンネルを開設しました!


会社や神戸の魅力を伝える動画を、毎週木曜日(休業日を除く)にアップしていきますので、
チャンネル登録よろしくお願いします!