3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

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

レンタルサーバ アイルでのMySQL4.0→5.1へのバージョンアップ

アイルというレンタルサーバ(iCLUSTAプラン)の MySQL のバージョンアップ作業を依頼されました。 現状は MySQL4.0 を使ってるっぽいんですが、 MySQL5 に移行するようアイル側から通知があったそうです。 バージョン4は夏ごろに利用不可になるとか。。(そも…

(.Net,SQL)JET(MDB)でINSERT直後のオートナンバー型IDを取得する

MDB でオートナンバー型の列を用意し、ADO.Net から TableAdapter を使って新規行を挿入します。 このとき、TableAdapter.Update() 前は DataTable でオートナンバーに対応する列の値は -1 です。 しかし、TableAdapter.Update() 後も値は -1 のままで、DB側…

(.Net)MemoryStreamのデータをGZipStreamで圧縮するときの注意点...

MDBにデータを格納するときに、圧縮して格納しようと思い、GZipStream で圧縮をかけたのですが、その時にハマったことです。 (MDBで圧縮したデータを保存する列はバイナリ型にしてます。また、DBに圧縮したデータを入れる方法は、ITpro .NETの関数を使用して…

(VisualStudio)VisualStudio2008(2005)で提供されているアイコン

アプリケーションを作ってて悩むのが、アイコンです。 特に汎用的なボタンやツールバー(切り取り、コピー、貼り付け、保存とか)に表示するアイコンはまとめて提供されててほしいですよね。 VisualStudio2008にはそんな汎用的アイコンが提供されてました。 下…

(.Net)DataGridView でソートをかけると DataGridViewRow の Tag プロパティが null になる

DataGridView.Sort メソッドで DataGridView 内部の DataGridViewRow に対してソートをかけると、DataGridViewRow.Tagプロパティが null になってしまうようです。 なので、下記のようなコードを書くと Console.WriteLine メソッドのところで例外が発生しま…

(SQL)Access(JET)で FULL OUTER JOIN を行う

SQL

日別の集計データを取る SQL の作成を行うことになったのですが、データの種別毎に SQL を発行するとレスポンス的にもまずいかなと思い、一つのクエリで何とか取得出るようにしてみました。 たとえば下記のようなテーブルがあるとします。 Sales テーブル(主…

(.Net)ActiveReports Datail で最終行の Line を表示

(.Net)ActiveReports でグループヘッダセクションをページ毎に出力させるの続きになります。 この記事でやったように、GroupHeader,GroupFooter を PageHeader,PageFooter 代わりに使っており、5行おきに横方向のLineを引くという仕様にしていると、最終行が…

(.Net)DataTable でソートをする(DataTable.Select)

DataTable自体にはソートをしてくれる機能がありませんが、DataTable.Select を応用することでソート処理ができます。 DataTable.Select() メソッドが DataTable の中でフィルタをかけるのに使えるということは(VB.Net)DataTableで特定の列の最大値を含む行…

(SQL)SELECT句に副問い合わせを含める

SQL

SELECT句の副問い合わせはJOIN内の副問い合わせとは違い、外のフィールドが使えるので便利です。 たとえば、下記のように Customer テーブルと利用履歴を残した UseHistroy テーブルがあるとします。 Customer テーブル ┏━━━━━━━━━━━━━━━━━┓ ┃CustomerID Cus…

(.Net)DictionaryEntryを使ってコンボボックスに表示文字列と処理用の値をセットする

ComboBox.Items.Add() や ComboBox.Items.AddRange() を使うとコンボボックスのリストに出てくる項目を追加することができますが、1つ(表示用)しか追加できません。なので、リストに表示するデータとそれに対応した処理用の値とを入れることができません。 …

(.Net)DataTableで特定の列の値を集計する

DataTable では特例の列の合計や平均などの集計ができるメソッドがあるようです。 そのメソッドがDataTable.Compute()です。 これを使うと今までいちいとループでまわしてた手間が減るので非常に楽ですね。 単に全行の合計値を求めるだけどこう書けます。 'd…

SDカードのパーティション操作でハマった

Androidの記事で、イメージファイル(500MB)を DD for Windows でSDカード(2GB)に書き込んだということを書きました。 で、このSDカードを元に(2GB,FAT)に戻したかったのですが、ディスクの管理からSDカードのパーティションを削除しようとすると「リムーバブ…

(.Net)VisualStuioの例外ウィンドウでチェックをつけすぎるとデバッグが大変

デバッグ→例外 からチェックで指定した例外について、中断する機能がありますが、ここで何でもかんでもチェック付けるとデバッグが大変になります。 特に、サードパーティ製のコントロールや DLL を読み込んでいる場合に、その内部で例外が発生した場合、Try…

(SQL)グループ化したものを重複なしで数えるSQL(COUNT DISTINCT)

SQL

3流プログラマ苦手な SQL のメモです。 このようなテーブルがあるとします。 ┌─────┬───┬──┬────┐ │CustomerID│LineNo│Sex │AgeBy │ ├─────┼───┼──┼────┤ │3 │1 │1 │30 │ ├─────┼───┼──┼────┤ │3 │2 │1 │30 │ ├─────┼───┼──┼────┤ │3 │3 │1 │30 │ ├─────┼───…

SEOにも役立つGoogleキーワード関連のサービス

よくページを作るときにSEO対策として、よく検索してもらうキーワードを埋め込むと思います。 このとき重要なのはどのキーワードを選ぶかですね。当然、検索数が多いキーワードを(競争率は高くなりますが)選ぶと思います。 じゃあ、いったいどのキーワードが…

(.Net)AcriveReportsで行ごと、列ごと、全体の集計をしたい

今回出したいレポートは下記のよう感じです。 青枠で囲っているところが、バインドする DataTable に入っている値です。 赤枠の部分を ActiveReports 側で集計させます。 デザイナでの配置は下記のような感じです。 データは下記のように作成しています。(レ…

(.Net)ActiveReports で指定された行毎にラインを表示、改ページする

やりたいことはこんな感じです。この場合5行毎にラインを引いています。 まず、指定された行毎にライン表示ですが、詳細セクションにラインを引きます。 あとは、 Detail.Format イベントで、指定行に来たらラインの Visible を True にそれ以外は、False に…

(.Net)ActiveReports でグループヘッダセクションをページ毎に出力させる

グループヘッダは基本的には各グループの先頭にしか表示されません。 なので、ページをまたいでいてもグループヘッダを表示したいときは困ったことになります。 まあ、グループヘッダ表示のための値が入った列をバインドする DataTable に追加させてもいいの…

(.Net)ActiveReports でレポートクラスを継承する

.Netで定番の帳票ツール ActiveReporst を使った開発を始めたのでそのメモです。 新しく使うツールは覚えるのがちょっと大変。。 今回、帳票名やページ番号等はすべての帳票で共通にしたかったので、レポートの継承を使うことにしました。 まず、基本となる…

Android をノートPC(USBメモリブート)で動かし遊んでみた

今注目の Google 発の携帯電話向けプラットフォーム(OS) Android を x86 のノートPCで動かしてみました。 実は、Android 発表当初は、どうせ携帯向けだし、せいぜい SDK 用のエミュレータがついてるだけでしょと思って、あんまり関心払ってませんでしたが、…

(.Net,C++)Process.Start()やShellExecuteEx()で引数の文字列が長すぎるとエラーになる

メールアドレスを表示するグリッドで CheckboxColumn でチェックされたメールを、Process.Start() を使い一括メールを送るというようにしていました。 ところが、この送信先メールアドレスの文字列が長くなると例外が発生したのです。 (ちなみに、普通は大量…

(JavaScript)マウスオーバーしたら画像を差し替えるスクリプト

よく Web でメニュー画像等にマウスオーバーすると画像が変わるというのを見かけますが、あれを実現するために比較的な汎用スクリプトを作ってみました。(といって昔使ってたやつですが) まず、各項目の on , off 画像を格納した image オブジェクトを最初に…

(.Net)mailtoの文字化け問題を何とかしようとしたけれど。

アプリケーションから mailto を使ってメーラーを起動させる仕組みを作っていたのですが、宛先や件名、本文に日本語を使った時に文字化けにハマりました。 @IT プログラムからブラウザやメーラを起動するには?を見ながら、Shift-JIS で UrlEncode をかけた…