Kobarin's Development Blog

C#やASP.NETなどについての記録です。

2011-01-01から1年間の記事一覧

SQLのINSERT文とUPDATE文の相互変換

SQL

プログラムで作りました。 http://nfs.jp/tools/dev/sql_replace.aspxSQL文のINSERTかUPDATEのいずれか一方を記述し、残る一方を自動変換・置換するサービスです。プログラムやDBサーバーのストアドプロシージャ作成をしていると、 INSERT文を書いた後にUPDA…

Gmailで、(件名なし) (送信者不明)メールをフィルタで削除

以前よりずっと課題だったフィルタが解決したのでメモ。 Gmail(というかGoogle Apps)で受信したスパムメールは通常、そのままスパムフォルダに送られます。ただ当方の場合、1日にして数十通の頻度で、「件名なし、送信者不明」のメールが届き、これがGmail…

飲食店に関わる統計情報の歴史

飲食店に関する統計データが欲しくて探していたら、元々は商業統計に含まれていたらしいのですが、現在は経済センサスに移行した事がわかったので、ちょっとメモしときます。 ちなみに、経済センサス基礎調査は、業態や開設時期・従業員数など、事業所・企業…

家計に占めるネットショッピングの金額の割合

商業統計の小売業販売額が、どの程度ECによって影響を受けているのかを調べたくなったので、 家計支出に占めるネットショッピング金額の割合を調べてみた。 H14で0.3%だったのがH19時点で0.9%のようだ。 ネットショッピングの状況 −「情報化月間」にちなん…

Visual Studioでの正規表現による置換え

正規表現には方言に数多くありますが、プログラミング全般の正規表現と比べても、VisualStudioのそれは大きく異なるようです。 さきほど置き換えを試したところ、少し時間を取られました。 以下、一般的な正規表現とVSとの比較です。 . 一般 VisualStudio 例…

ストアドプロシージャーを実行時、パラメータを省略

ストアドプロシージャをC#等から呼び出す際、パラメータを省略したいケースがあります。 例えば、通常は空欄のデータであっても以下のように1行必要です(C#の例)。 cmd.Parameters.Add("@message", SqlDbType.NVarChar).Value = ""; パラメータを省略して…

Google Fusion Tables SQL Environment (仮称)デモ完成

Google Fusion TablesのチャートやCSV出力が、SQLで操作できる事は以前お伝えしました。 ただし、URLを直接いじってやる必要があったり、今ひとつ使い勝手がよくありません。 そこで当方で、仮称「Google Fusion Tables SQL Environment」を作成しました。 …

Excelでグラフ作成した際、自動計算されるグラフの上限値の計算方法

Excelでセルの値を基にグラフを挿入すると、Y軸の上限値が自動計算されて、うまい具合にグラフを生成してくれますね。MS ChartなりGoogle Chart APIなり、プログラムでグラフを自動生成する際、同じように出力できれば…と思い、同じ結果になる計算式を作って…

Google Fusion Tables 埋め込みチャート(embeddable code)のURL仕様

Google Fusion Tablesで定義したチャート(グラフ)は、「Get embeddable code」ボタンを押すと、iframeでブログやHPに埋め込むことができます(要public or unlisted)。 チャートの値の上をマウスオーバーさせると数値などが表示される、インタラクティブ…

Google Fusion Tablesで、CSV or KML出力するURL

FTでデータを出力したい場合、[Export]メニューでCSV出力、Mapモードの[Export to KML]でKML出力ができますが、プログラムでデータを読みたい場合、URLで直接指定したいところです。 結論から言うとどちらも可能です。 URLの仕様を調べるには、上記の正攻法…

URLScanのグローバルフィルターとサイトフィルター

目的 SQLインジェクション攻撃など、URLやHTTPヘッダーに不正なデータを紛らせる事による侵入や不正なアクセスに対する防衛手段の1つです。 公式サイト URLScanの設定 (ダウンロードもページ内から参照しています) 前提条件 まず前提プラットフォームが以…

ユーザーコントロールに親ページからパラメータを与えても、先にPage_Loadイベントが呼び出されてしまう対策

まず一例として(コードは至るところでカットしてます)。 以下の例では、parent.aspx のRepeaterのアイテム内から、ユーザーコントロールuc.ascxを呼び出しています。 Repeaterの各アイテムには色名を指定すると、uc.ascxで「色は○○です。」と表示する、意…

ASP.NETで、YahooローカルサーチのデータをGridViewに表示してみる

Yahooさんのローカルサーチは電話帳データ等から施設情報を抽出できる、かなり便利なAPIなのですが、ASP.NETから呼び出す例としてはあまり参考になるサイトがなかったので、ここに書いてしまいます。 仕様 電話帳データより「コンビニ」情報を取得し、GridVi…

HTML+JavaScriptだけで、URLパラメータ(QueryString)による座標などを指定できるGoogleマップのページ

Googleマップのページは便利ですが、ページを沢山作ると後々メンテナンスが大変ですね。 今回も、GoogleMapsがv2からv3に移行して苦労した人も多いのでは。 ということで、単に動的なMAPを表示するだけのページなら、メンテナンス性を考え、できるだけ1つに…

Googleマップに、ルート探索のリンク

例えば飲食店や宿泊施設などで、Googleマップで案内用の地図を呼び出して使っているサイトをよく見かけます。 昔は地図作成ソフトで位置図を画像化して貼っていたりなんて事もあったので、これだけでもかなり便利になったと言えるでしょう。ただ、場所を示す…

javascriptで、radioとselectからgetElementsByNameで選択値を取得する方法

普通のJavaScriptのコードです。 jQuery等を使えば早いですが、別JSファイルを参照するほどでもない簡単なコーディング用にメモします。 HTML <input type="radio" id="rad1" name="rFruits" value="001" />Apple<br /> <input type="radio" id="rad2" name="rFruits" value="002" checked="checked" />Grape<br /> <input type="radio" id="rad3" name="rFruits" value="003" />Or…

Ajax ToolkitのTabContainerの出力コード

<div id="TabContainer1" class="mycss" style="visibility:hidden;"> <div id="TabContainer1_header"> <span id="TabContainer1_tab1_tab"> <span class="ajax__tab_outer"> <span class="ajax__tab_inner"> <span class="ajax__tab_tab" id="__tab_TabContainer1_tab1">Tab1</span> </span> </span> </span> </div></div>

地価公示・地価調査のダウンロードデータの座標を度単位に変換

国土数値情報ダウンロードサービス の土地関連の中から、地価公示・地価調査のCSVデータをダウンロードする事が出来ます。 CSV形式で、しかも世界測地系座標が入っているため、基本的に加工なしにGoogle MapsやFusion Tablesに取り込む事ができるはずです。 …

経度・緯度を持つデータを半径(m単位)で抽出する

本来であれば、座標(経度・緯度)をまず平面直角座標に変換した上で抽出するのがベストですが、精度を求められない場面でサクッとselect文を実行する方法を紹介します。 以前どこかで見ましたが、ソースを忘れたので製品SQLから引っ張ってきました。確か日…

Visual Studio で、ストアドプロシージャのパラメータを知る方法

SqlDataSourceを使ってストアドプロシージャを呼び出す場合、ウィザードに従えばパラメータ(引数)が自動生成され、データ型まで自動でセッティングしてくれて便利ですね。 一方で、〜.aspx.cs や〜.aspx.vb 等のコードページでは、相変わらずこんなコード…

ASP.NETフォームでデータ入力する際に、ヤバそうな文字を排除する正規表現

Textboxに何の検証も無しに文字列を受け付けると様々なトラブルを引き起こします。 検証コントロールの1つ、RegularExpressionValidator を使って「とりあえずこれだけは」やっておくと安心という正規表現を書きます。 ValidationExpressionに入れる文字列で…

ASP.NETでダウンロードダイアログを表示してダウンロードさせる

ブラウザ内に直接HTMLやXMLを表示するのではなく、意図的にダウンロードさせる場合、以下のコードにより可能。 protected void Page_Load(object sender, EventArgs e) { Response.AppendHeader("Content-Disposition", "attachment; filename=myfile.xml");…

jQueryで、show() & hide()

<div id="mymsg">最初は消えてて、表示して、また非表示されるよ</div> <script type="text/javascript"> $("#mymsg").show(); $("#mymsg").hide(); </script> 注意 hide()は、CSSで表すところの「display:XXXX;」の部分を操作しているっぽいので、初期値を「style="visibility:hidden;"」にしておくとshow()しても表示され…

jQueryで、ハイパーリンクのhref書き換え

<a id="mylink" href="#">example</a> <script type="text/javascript"> $("#mylink").attr("href", "http://example.com/") </script>

SqlCommandでReturnValueを取得

using (SqlCommand cmd = cn.CreateCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = @"upGetColor"; cmd.Parameters.Add("@name", SqlDbType.NvarChar).Value = "Red"; cmd.Parameters.Add("@code", SqlDbType.NvarChar).Di…

MS Office 2010を使ってスキャンニング→PDF変換

事務所でCanonのネットワークスキャナを使って文書をスキャンしてPDF化した際のメモ。 事前に必要なもの Microsoft Office Document Scanning(Microsoft Office 2010に付属)のインストール PDF出力系ドライバ(当方はBullzipを使ってます) CanonのScanGea…

Google Image Chart Editer (beta) で3分チャート作成

Google Chart APIはExcelのグラフ作成と異なり、Webで使う場合URLだけ指定するだけで大変便利でしたが、生成のためにURLのquerystringを自分でいじくる必要があり、その手間が課題でした。 昨日調べていたら、GoogleはChartをウィザード方式で作成できる「Im…

jQueryで、選択ボックス/ラジオボタンの値を取得/選択

サンプルHTML <form> <select name="SB"> <option value="1">Red</option> <option value="2">Blue</option> </select> <input name="RB" type="radio" value="1" />High <input name="RB" type="radio" value="2" />Low <input name="CB" type="checkbox" value="1" />OK </form> 選択ボックス var value = $("input[name=SB]:checke…

Google Maps V3からKMLを呼び出す

注意事項 ローカル(localhost:8080等)に置かれたKMLは参照できないので、必ずグローバルサーバに置く 拡張子が.kmlでなくてもAPIからアクセス可能 「サーバー側で、kmlのMIME typeを”application/vnd.google-earth.kml+xml”にするように」とありますが、設…

公共施設ベクトルデータをFusion Tablesに取込み

国土数値情報 公共施設データ*1をGoogle Fusion Tablesにインポートしました。 データ自体はXMLですが、必要箇所のみ抜き出してCSV化し、FTにインポートしてます。 http://www.google.com/fusiontables/DataSource?dsrcid=661224 データ加工について 公共施…