modest violet

modest violet

開発者としてのあれこれや、日々の雑記など

your future hasn't written yet. no one's has.
by Emmett Lathrop "Doc" Brown

Dev

DataGridViewで行にデータがあるのに、「インデックス -1に値がありません。」というエラーが発生する件の解決法

久々にVB.NETのDataGridViewでハマりました・・・。グリッドには正しくDataSourceで渡した結果が表示されているのですが、表示された行をクリックしようとすると インデックス -1に値がありません。 と不可思議なIndexOutOfRangeExceptionエラーが発生します…

LINQ to SQLで複合キーのExists句を書く

単一のExists句を表す場合はContainsを使用していましたが、複数のキーでExistsを実現させねばならない状況に陥ったので、勉強がてらにまとめました。 単一キーのExistsの場合 基となるSQL SELECT * FROM table_A as A WHERE EXISTS ( SELECT * FROM table_B…

プログラム初心者に必ずアドバイスするプログラムセンスを磨く3つの基本的項目

プログラミングを人に教える際に、言語によって教える内容は千差万別ですが、必ずと言っていい程どの言語でも徹底させている事があります。昔から良く言われている内容ですが、僕自身も人に教える際は口を酸っぱくして必ず教える項目がいくつかあります。意…

ボタン一発でVBのコードをC#に簡単に変換する方法

Dev

2017/01/10:更新しました最近はVB案件とC#案件を掛け持ちしているので、脳内がゴチャゴチャしています。似て非なるものとはよく言ったものですね~。C#に慣れてきたら、「やっぱりVBって少し冗長的な書き方するよなぁ~」と感じるようになってきました。If …

今だから話せる!今なら絶対にしないソフトウェアの仕様(3)

今回はヘンテコ仕様に巻き込まれた側の視点です。ぺーぺーの駆け出しの頃って、やっぱり上司の方には反論出来ませんよね!? お話は大体2006年くらいの出来事だったと思います。 とあるバーコードチケットを印刷する機能をDLL化するという内容です。プロ…

VBでList Of のクラスを簡単にDictionaryに変換する方法

いやー、LINQは本当に便利。使えば使うほど魅力的です。List(Of T)のリストを簡単にDictionaryに変換する方法です。

ConnectionStringsを複数プロジェクトで共有する

Dev

今更というか、長年凄い勘違いをしていた事に気づいてしまいました。今までの開発ではずっと、メインプロジェクトとデータアクセス用のプロジェクトを分けた環境で開発をしていました。この際のアーキテクチャは自分ではなかったのであまり細かい点までは気…

C#でIF文を1行で書く

C#でIF文を1行で書く方法が分からなかったので備忘録。。。すいません、VBユーザーだったもので。。。

今だから話せる!今なら絶対にしないソフトウェアの仕様(2)

たまにですが、本当に足し算レベルの失敗というのをしてしまう事があります。ベテラン管理者の方と一緒にお仕事をしていた時のお話です。実施したい内容は至極簡単で、各クライアント端末で作業したログを上位サーバに転送するだけ。ただ、制約として海外の…

今だから話せる!今なら絶対にしないソフトウェアの仕様(1)

かれこれ10年以上ソフトウェア開発に携わっていますので、お客様には申し訳ないのですが、おかしな仕様で作ってしまった案件というものは・・・正直たくさんあります。特に新人時代から少し経験を積んだ2年目、3年目でその傾向が顕著だったと思います。中…

僕は小馬鹿にされがちなVisualBasicを肯定する

Visual Basic(以下、VB)は結構な頻度で「軽く見られがち」であり、「小馬鹿にした」感想を目にします。確かに昔々はVBランタイムが必要だとかメモリ管理がイケていないとか色々とありましたが、今では全て過去のお話だと断言出来ます。世間が抱いているイ…

単体テスト≠ユニットテストなんだという事

近年のソフトウェア開発では単体テストの自動化が当たり前になってきています。 「いや、とっくに当たり前だよ!」というお言葉も多いと思いますが、現実的にまだまだ取り入れていない企業も多いのです。現に僕自身も取り入れていなかった1人な訳でして。 簡…

Joinを多用するとLINQ to SQLは遅い?

LINQ to SQLが便利すぎてDataAdapterとかCommandには戻りたくない今日この頃です。ようやくメソッド形式にも慣れてきて、メソッド形式になっていないときもちわるいかも!という風に思えるようになって来ました。でも、1つ困った事に、書き方によってはレス…

VB6が好きだった。今はASP.NET MVCが好きです。

Visual Basic 6が好きでした。今から10年前くらいの話しです。初めて真剣に取り組んだ言語だからという思い入れもあるのでしょう。 当時は既に.NETが台頭してきており、後の主流になるFramework2.0系のVisual Studioも発売されていた頃だと思います。 発売…

EntityFrameworkでconfigファイル内の接続文字列をプログラム内で動的に変更させる方法

データベースを利用する際、App.config または web.config に接続文字列が記載されます。でも、パスワードまでプレーンな状態で記載されるので、あまり好ましくありません。 .NET Frameworkのaspnet_regiis.exeを利用した暗号化は、開発中には向いていない方…

Active Reportの用紙サイズが戻ってしまう現象で四苦八苦したので回避策

GrapeCity社のActive Reportで久々に嵌まったので備忘録。印刷ダイアログで指定した用紙サイズによって、動的にレイアウトを変更したかったので、レポートをRunする前に、印刷ダイアログで用紙サイズ等を取得する処理を書きました。※ざっくり書いていますが…