asp.net webforms調査

42
ASP.NET Web Forms 調調 2016/4/17 調調 調調

Upload: naoyuki-sano

Post on 21-Jan-2017

583 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: ASP.NET WebForms調査

ASP.NET Web Forms 調査2016/4/17佐野 尚之

Page 2: ASP.NET WebForms調査

変更履歴 2016/4/17

SqlParameter に関することを追加。参考 URL を追加。 Scaffolding の情報を追記。 2016/3/16

FindControl 、 GridView を追加。 XSS についての説明を追記 2016/3/5

Excel 出力・・・ Open XML SDK に関することを追加 2016/2/28

新規作成

2

Page 3: ASP.NET WebForms調査

アジェンダ・ Tabindex・ Enter キーで指定したボタンを実行・フォーカスをセット・ツールチップ ・キャッシュの無効化・プレイスホルダー ( 初期表示したい内容 )・検証コントロール・ファイルアップロード設定・ページに JavaScript のコードを埋め込む・ボタンクリック時の確認メッセージ表示・ Excel 出力・ログ出力 (Log4net / NLog)・ jQuery・ Bootstrap / Bootstrap-Sass・ Crystal Reports

3

・ FindControl・ GridView・ SQL インジェクション・ XSS・ CSRF( クロスサイトリクエストフォージェリ )・接続文字列の暗号化・ Entity Framework・ Web Forms Scaffolding・ Ajax・メール送信・ PDF 出力・ Seasar.NET / Spring.NET・ iBatis.NET / NHibernate・ NUnitAsp・エラー表示の制御・排他制御・ SqlParameter はデータ型とサイズを指定すること・ SqlParameter で IN 句にカンマ区切りの値を指定する場合・参考 URL

Page 4: ASP.NET WebForms調査

Tabindex

サーバーコントロールには Tabindex プロパティがある。「 0 」以外の数字を順番に指定。

4

Page 5: ASP.NET WebForms調査

Enter キーで指定したボタンを実行[C#] ASP.NET の Web フォームのデフォルトボタンを設定するhttp://www.ipentec.com/document/document.aspx?page=csharp-aspnet-default-button&culture=ja-jpテキストボックス内で Enter キーを押した際に発生するポストバックを無効にするには http://aspajaxextensions.blogspot.jp/2008/08/enter.html

5

Page 6: ASP.NET WebForms調査

フォーカスをセット[ ASP.NET ]コントロールにフォーカスをセットするには?http://www.atmarkit.co.jp/fdotnet/dotnettips/161setfocus/setfocus.html[ ASP.NET ] Web フォーム上のフォーカスを制御するには?[ 2.0 、 3.0 、3.5 、 C# 、 VB ]http://www.atmarkit.co.jp/fdotnet/dotnettips/731aspajaxfocus/aspajaxfocus.html

6

Page 7: ASP.NET WebForms調査

ツールチップTextBox コントロールの ToolTip プロパティhttp://www.projectkyss.net/aspnet/sample/textbox_control/textbox_toolTip.aspxBootstrap3 Tooltips の簡単な使い方http://designup.jp/bootstrap3-tooltips-195/

7

Page 8: ASP.NET WebForms調査

キャッシュの無効化ASP.NET で ブラウザ キャッシュ を 無効化 する web.config 設定 http://garafu.blogspot.jp/2013/06/aspnet-webconfig.htmlASP.NET でキャッシュを無効にするにはhttp://freelancer.yoka-yoka.jp/e326691.htmlASP.NET ブラウザ キャッシュ無効化http://d.hatena.ne.jp/manymanytips/20110120/1295500136

8

Page 9: ASP.NET WebForms調査

プレイスホルダー ( 初期表示する内容 )

Input タグとかに placeholder 属性を書いて初期表示したい値を書けばいいはず。

9

Page 10: ASP.NET WebForms調査

検証コントロール第 2 回  Visual Studio.NET でプログラム・レス開発を学ぶ(前編)http://www.atmarkit.co.jp/fdotnet/aspandvs/aspandvs02/aspandvs02_04.html[ASP.NET ]検証コントロールで条件付きの検証処理を行うには?http://www.atmarkit.co.jp/fdotnet/dotnettips/237aspcondvali/aspcondvali.html[ASP.NET ]検証コントロールのエラー・メッセージを一元管理するには?http://www.atmarkit.co.jp/fdotnet/dotnettips/292pagevalidate1/pagevalidate1.html[C#] クリックされるボタンによって検証コントロールの対象を切り替えたい - ValidationGroup による検証コントロールの切り替えhttp://www.ipentec.com/document/document.aspx?page=csharp-asp-net-custom-validator-change-enable-state-each-button-clickRegularExpressionValidator を使った入力内容の検証http://www.ipentec.com/document/document.aspx?page=csharp-aspnet-regular-expression-validator[C#] 入力された値を独自のロジックで検証する - CustomValidator の利用http://www.ipentec.com/document/document.aspx?page=csharp-asp-net-using-custom-validator10

Page 11: ASP.NET WebForms調査

ファイルアップロード設定FileUpload でアップロード時に「要求の長さの最大値を超えました。」エラーが表示されるhttp://www.ipentec.com/document/document.aspx?page=csharp-aspnet-length-over-fileuploadASP.NET で 28 ~ 30MB 以上のファイルアップロードで 404 エラーが発生するhttp://www.ipentec.com/document/document.aspx?page=csharp-asp-net-file-upload-error-over-28-30-mb

11

Page 12: ASP.NET WebForms調査

ページに JavaScript のコードを埋め込む[ ASP.NET ]ページに JavaScript を埋め込むには?http://www.atmarkit.co.jp/fdotnet/dotnettips/160regscript/regscript.html・ RegisterStartupScript  初期化のためのメソッド・ RegisterClientScriptBlock

スクリプトで記述した関数群( JavaScript で定義した関数など)を  埋め込むためのもの

12

Page 13: ASP.NET WebForms調査

ボタンクリック時の確認メッセージ表示ASP.NET でボタンのクリック時に確認メッセージを表示するには?http://www.atmarkit.co.jp/fdotnet/dotnettips/015confirm/confirm.html

13

Page 14: ASP.NET WebForms調査

Excel 出力 (1/2)

オートメーション機能を利用しない Excel 形式での Web 帳票印刷Excel 2003 の XML 形式ファイルを利用した帳票ソリューションhttp://codezine.jp/article/detail/194C# で Excel Creator を使ってみるhttp://qiita.com/su_mi/items/43c762feb11992712a9bExcel for .NET ( グレープシティ )http://c1.grapecity.com/SuperProducts/Excel/

14

Page 15: ASP.NET WebForms調査

Excel 出力 (2/2)Office 2007 以降の .xlsx ファイルでいいなら、 Microsoft が提供している Open XML SDK を使って出力できます。Excel がインストールされていない環境でも作成することができます。Open XML SDK を使って Excel ファイルを出力 http://tnakamura.hatenablog.com/entry/2015/10/28/090601ASP.NET MVC で Excel ファイルを出力 http://tnakamura.hatenablog.com/entry/2015/10/29/075452OpenXML 形式で Excel ファイルを作成する方法http://www.projectgroup.info/tips/Microsoft.NET/tips_0004.htmlBuilding an ASP.NET Web Application with Open XML Functionalityhttp://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2012/01/02/building-an-asp-net-web-application-with-open-xml-functionality.aspxOpenXML を使用して、サーバーサイドで Excel ファイルを生成(1)http://notesdotnet4.blogspot.jp/2011/11/openxmlexcel.html

15

Page 16: ASP.NET WebForms調査

ログ出力 (Log4net / NLog)[ASP.NET ]アプリケーション内で発生したエラー情報をロギングするには?http://www.atmarkit.co.jp/fdotnet/dotnettips/168asperrlog/asperrlog.htmlaspx ページ内 (ASP.NET) でログ出力を行う方法 (log4net 編 )http://web.plus-idea.net/2012/06/aspx-asp-net-log4net/log4net の Web アプリへの導入手順http://d.hatena.ne.jp/tgk/20070802/1186074677【 ASP.NET MVC5 】 log4net の導入手順メモ♪http://oki2a24.com/2015/10/18/use-log4net-in-asp-net-mvc5/ASP.NET MVC logging は、 NLog がベストhttp://vs.smartnet.expressweb.jp/asp-net-mvc-logging%E3%81%AF%E3%80%81nlog%E3%81%8C%E3%83%99%E3%82%B9%E3%83%88/

16

Page 17: ASP.NET WebForms調査

jQuery

ASP.NET のプロジェクトを作ると一緒に入る。バージョンが古いので 2.x 系を使いたい場合は NuGet で最新版にすることjQuery UI DatePicker (Calendar) Example in ASP.Nethttp://www.aspsnippets.com/Articles/jQuery-UI-DatePicker-Calendar-Example-in-ASPNet.aspx

17

Page 18: ASP.NET WebForms調査

Bootstrap / Bootstrap-SassBootstrap は ASP.NET のプロジェクトを作ると一緒に入る。バージョンが古いので新しい物を使いたい場合は NuGet で最新版にすること。 Bootstrap-Sass を使いたい場合は、以下のサイトを参考に追加すること。How to use SASS in Visual Studio 2013http://stackoverflow.com/questions/20727102/how-to-use-sass-in-visual-studio-2013Visual Studio で Sass 版 Bootstrap を使うhttps://creativeweb.jp/archive/9991/

18

Page 19: ASP.NET WebForms調査

Crystal ReportsCrystal Reportshttps://msdn.microsoft.com/ja-jp/library/aa287920%28v=vs.71%29.aspxCrystal Reports in ASP.NEThttp://www.beansoftware.com/ASP.NET-Tutorials/Using-Crystal-Reports.aspxCrystalReports ASP.NET で PDF 出力http://tukaenai-pg.cocolog-nifty.com/blog/2007/07/crystalreports__3eae.htmlHow to create PDF files from ASP.NET pageshttp://www.developerfusion.com/code/4266/how-to-create-pdf-files-from-aspnet-pages/Crystal Reports で作る高品質な Web レポートhttp://www.atmarkit.co.jp/fdotnet/special/crystalreports/crystalreports_01.html

19

Page 20: ASP.NET WebForms調査

FindControl[C#] マスターページ利用環境での FindControl によるコンテンツフォームのコントロール取得方法http://www.ipentec.com/document/document.aspx?page=csharp-aspnet-get-control-from-string-name-with-masterpageASP.NET   FindControl についてhttp://www.oborodukiyo.info/ASPNET/VS2008/ASPNET-FindControl.aspxマスターファイル利用時にもコントロールの ID でコントロールを取得する方法http://aspnet.keicode.com/controls/findcontrol-masterfile.php

20

Page 21: ASP.NET WebForms調査

GridView (1/3)GridView の ItemTemplate に配置したボタンクリック時に、行数を取得できないhttps://www.cyberarchitect.net/blog/archives/383GridView の RowCommand イベントにて行の情報を取得するhttp://devlabo.blogspot.jp/2009/09/gridviewrowcommand.htmlGridView の選択行の値を取得する(非表示項目も取得可能)https://sites.google.com/site/aspnetbyark/tips-terms/gridviewno-xuan-ze-xingno-zhiwo-qu-desuru-fei-biao-shi-xiang-mumo-qu-de-ke-nengASP.NET C# GridView 内コントロールボタンのイベントを取得する方法 http://tosnote.blogspot.jp/2013/11/aspnet-c-gridview.htmlASP.NET C# GridView 列を非表示にしてその値を参照する方法 http://tosnote.blogspot.jp/2013/11/aspnet-c-gridview_13.htmlGridView から行を削除するとき確認のメッセージを表示するhttp://asp35.com/aspGridView/Chapter1/ch1-12.aspx 21

Page 22: ASP.NET WebForms調査

GridView (2/3)GridView 内のデータのソートとヘッダ行への矢印の追加http://aspnet.keicode.com/controls/gridview-sorting.php[ASP.NET ] GridView コントロールのヘッダにソート方向を表示するには?http://www.atmarkit.co.jp/fdotnet/dotnettips/956aspgridvwhdrsort/aspgridvwhdrsort.htmlGridView で同じ値のセルを結合する方法 http://blog.jhashimoto.net/entry/20110809/1313368174[ASP.NET] データグリッドビューのセルを結合風。 http://shumitestitblog.blogspot.jp/2012/10/aspnet.htmlGridView でセルを結合する方法http://d.hatena.ne.jp/fyts/20070915/gridviewGridView で同一値のセルを結合して表示する http://ouipanda.hatenablog.com/entry/20080713/1215966817[ASP.NET] データグリッドビューのセルを結合風。 http://shumitestitblog.blogspot.jp/2012/10/aspnet.htmlGridView のセル結合http://isanan.jugem.jp/?eid=52ASP.net GridView 内のセル結合http://d.hatena.ne.jp/yta1210/20110309/1299648781

22

Page 23: ASP.NET WebForms調査

GridView (3/3)Bootstrap Glyphicon on asp.net buttonhttp://foraq.net/question/120686/bootstrap-glyphicon-on-asp-net-buttonTwitter Bootstrap and ASP.NET GridViewhttp://stackoverflow.com/questions/12362361/twitter-bootstrap-and-asp-net-gridviewASP.NET: GridView CRUD using Twitter Bootstrap Modal Pupuphttp://www.programming-free.com/2013/09/gridview-crud-bootstrap-modal-popup.htmlResponsive ASP.NET GridView With Twitter Bootstraphttp://techbrij.com/asp-net-gridview-twitter-bootstrap-responsive-designBootstrap Pagination for ASP.NET GridViewhttp://www.programming-free.com/2013/07/bootstrap-pagination-for-aspnet-gridview.html

23

Page 24: ASP.NET WebForms調査

SQL インジェクションLINQ to SQL や Entity Framework で LINQ を使いましょう。プロジェクト的にだめなら以下の方法で (; ・∀・ )

SQL インジェクション対策 (ASP.NET,C#,VB.NET 編 )http://www.websec-room.com/2013/03/03/396Like 句に対する SQL インジェクション対策 (ASP.NET,C#, VB.NET 編 )http://www.websec-room.com/2013/12/15/1307How To: ASP.NET で SQL インジェクションから保護する方法https://msdn.microsoft.com/ja-jp/library/ff648339.aspx

24

Page 25: ASP.NET WebForms調査

XSS( クロスサイトスクリプティング )■ データバインドの場合①ASP.NET 4.0 までは、 HttpUtility クラスの HtmlEncode メソッドを使う  <asp:Label ID="LocationNameLabel" runat="server"  Text="<%# HttpUtility.HtmlEncode(Item.Location.LocationName) %>" />

②ASP.NET 4.5 では、自動的に HTML エンコードを行うデータバインド式が使える。  <asp:Label ID="LocationNameLabel" runat="server"  Text="<%#: Item.Location.LocationName %>" />

■ データバインドではなく、 ASP.NET Web フォームへの埋め込み式でも HTML エンコードを行いたい場合① 通常の埋め込み式  <%= "<s>non encoded</s>" %>

②HTML エンコード式  <%: "<s>html encoded</s>" %>

25

クロスサイト・スクリプティング (XSS) 対策 (ASP.NET,C#,VB.NET 編 )http://www.websec-room.com/2013/03/16/620How To: ASP.NET でクロスサイト スクリプトを防止する方法https://msdn.microsoft.com/ja-jp/library/ff649310.aspx

Page 26: ASP.NET WebForms調査

CSRF( クロスサイトリクエストフォージェリ )不正なフォームから POST された時には処理を行わないようにするために、ワンタイムトークンを発行して、正規のリクエストか判別する方法が一般的らしい。ASP.NET の組み込み機能を活用し、 Web 攻撃を回避する https://msdn.microsoft.com/ja-jp/library/ms972969.aspx

26

Page 27: ASP.NET WebForms調査

接続文字列の暗号化web.config の暗号化https://blogonos.wordpress.com/2006/02/23/web-config%E3%81%AE%E6%9A%97%E5%8F%B7%E5%8C%96/ADO.NET 入門記 -003 ( 接続文字列の暗号化 (aspnet_regiis))http://devlights.hatenablog.com/entry/20070812/p3Web.config の暗号化http://blogs.yahoo.co.jp/tomomich_f/50387495.htmlWeb.Config の内容を暗号化するhttp://freestyle.nvo.jp/archives/29方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護するhttps://msdn.microsoft.com/ja-jp/library/dx0f3cf2%28v=vs.80%29.aspx接続文字列と構成ファイルhttps://msdn.microsoft.com/ja-jp/library/ms254494%28v=vs.110%29.aspx

27

Page 29: ASP.NET WebForms調査

Web Forms ScaffoldingWeb Forms Scaffolding ・・・ NuGet で追加できますhttps://visualstudiogallery.msdn.microsoft.com/a6c3614f-83be-4749-afbc-8da394b6ea86ASP.NET Scaffolding in Visual Studio 2013http://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overviewGetting Started With Web Forms Scaffolding in ASP.Nethttp://www.c-sharpcorner.com/UploadFile/4b0136/getting-started-with-web-forms-scaffolding-in-Asp-Net/

以下の情報はプレリリース版のやつなので参考程度でみること。ASP.NET Web Forms でもスキャフォールディングを使ってみるhttp://blog.shibayan.jp/entry/20130219/1361281202ASP.NET 4.5 の「 Scaffolding (スキャフォールディング)」機能を試す(前編)http://codezine.jp/article/detail/7491/ASP.NET 4.5 の「 Scaffolding (スキャフォールディング)」機能を試す(後編)http://codezine.jp/article/detail/7530

29

Page 30: ASP.NET WebForms調査

Ajax

ASP.NET AJAX を理解する http://www.atmarkit.co.jp/fdotnet/aspnetajax/index/2 つの AJAX :「 jQuery AJAX API 」と「 ASP.NET AJAX 」http://codezine.jp/article/detail/6898[C#] UpdatePanel を使ったシンプルな Ajax アプリケーションの作成http://www.ipentec.com/document/document.aspx?page=csharp-aspnet-updatepanel-scriptmanager-simple-app

30

Page 31: ASP.NET WebForms調査

メール送信ASP.NET でメール送信を実装するhttp://www.atmarkit.co.jp/fdotnet/aspexp/aspexp13/aspexp13_05.htmlSmtpClient クラスを使ってメールを送信するhttp://dobon.net/vb/dotnet/internet/smtpclient.html[ASP.NET ]ユーザーから入力されたデータを任意のあて先にメールするには?http://www.atmarkit.co.jp/fdotnet/dotnettips/216aspmailsend/aspmailsend.htmlメールを送信するhttp://www.tutorial.useiis7.net/a012/mail.htm

31

Page 32: ASP.NET WebForms調査

PDF 出力iTextsharp を利用して ASP.NET で PDF ファイルを作成する http://notesdotnet4.blogspot.jp/2011/11/itextsharpaspnetpdf.html[ASP.NET ] Web フォームから動的に PDF 文書を作成するには?http://www.atmarkit.co.jp/fdotnet/dotnettips/309aspgenpdf1/aspgenpdf1.html[ASP.NET ] iText.NET で PDF 文書に表を追加するには?http://www.atmarkit.co.jp/fdotnet/dotnettips/319aspgenpdf4/aspgenpdf4.htmliTextSharp を利用して .NET で PDF 帳票を出力するhttp://codezine.jp/article/detail/462

32

Page 33: ASP.NET WebForms調査

Seasar.NET / Spring.NET

Spring.NET を使用した ASP.NET と DI の連携http://codezine.jp/article/detail/204S2Container.NET > ASP.NET での利用 http://s2container.net.seasar.org/ja/asp.htmlS2Dao.NET で XML レスな O/R マッピングを行うhttp://codezine.jp/article/detail/805

33

Page 34: ASP.NET WebForms調査

iBatis.NET / NHibernate

ASP.NET で実践する O/R マッピング( iBATIS.NET 編)http://www.atmarkit.co.jp/fdotnet/special/ormap02/ormap02_03.htmlASP.NET で実践する O/R マッピング( NHibernate 編)http://www.atmarkit.co.jp/fdotnet/special/ormap01/ormap01_01.html

34

Page 35: ASP.NET WebForms調査

NUnitAsp

NUnitAspASP.NET unit testinghttp://nunitasp.sourceforge.net/NUnitAsp の高度な使い方http://codezine.jp/article/detail/35自動テストツール NUnit/NUnitAsp を使ってみる http://d.hatena.ne.jp/halo_w2/20070312/p1NUnitAsp してみましたhttp://blog.livedoor.jp/papi1963/archives/492953.html

35

Page 36: ASP.NET WebForms調査

エラー表示の制御ASP.NET の HTTP エラー画面の表示処理を IIS 側に統一するhttp://blog.shibayan.jp/entry/20150613/1434177284ASP.NET のエラーページが表示されてしまうときの対策http://qiita.com/tanakaworld/items/a47c21678c2beabf79b9[ ASP.NET ] Application_Error に例外処理を集約する( Global.aspx )http://hensa40.cutegirl.jp/archives/1507

36

Page 37: ASP.NET WebForms調査

排他制御複数端末からの更新時の排他制御http://www.atmarkit.co.jp/ait/articles/0803/28/news140_4.htmlデータの同時更新を防ぐための排他制御http://codezine.jp/article/detail/6764

37

Page 38: ASP.NET WebForms調査

SqlParameter はデータ型とサイズを指定すること パラメータのデータ型は SQL Server 側のデータ型に合わせて明示的に指定する。

AddWithValue は使ってはダメです。 文字列やバイナリのデータ型の場合、サイズも明示的に指定する。 varchar(max) 等の max を使用したデータ型についてはサイズに -1 を指定する。例 )■ 書き方① SqlParameter userName = cmd.Parameters.Add("@pUserName", SqlDbType.NVarChar, 20);    pUserName.Value = this.pUserName;   ■ 書き方②・・・ SqlParameter インスタンスを省略して書く方法   cmd.Parameters.Add("@pUserName", SqlDbType.NVarChar, 20) .Value = this.pUserName;   

38

Page 39: ASP.NET WebForms調査

SqlParameter で IN 句にカンマ区切りの値を指定する場合 SqlParameter で IN 句にカンマ区切りの値を渡したい場合は以下のように書く必要あり。例 )var sql = new StringBuilder();sql.Append(" SELECT NAME FROM BOOK WHERE ");sql.Append(" ',' + @pBookWhere + ',' LIKE ',%' + BookCode + ',%' ");var datatable = new DataTable();using (var conn = new SqlConnection(this.ConnectionString)){ var cmd = new SqlCommand(sql.ToString(), conn); cmd.Parameters.Add("@pBookWhere", SqlDbType.NVarChar).Value = "0003, 0007"; conn.Open(); using (var er = cmd.ExecuteReader()) { datatable.Load(er); }}   

39

DB の接続文字列を指定

Page 40: ASP.NET WebForms調査

参考 URLASP.NET のセキュリティ対策について考えるhttp://blog.shibayan.jp/entry/20120526/1338001863ASP.NET とは? Web Forms と MVC の違いは?http://blog.auxak.com/feature-of-asp-dot-net/ASP.NET から直接印刷する方法についてhttp://www016.upp.so-net.ne.jp/louvre/tips/engineering/architecture/asp.net/printfromweb.htmlASP.NET と AngularJS の相性http://trend.value-s.com/?p=4662Microsoft レポートによる帳票の作成http://qiita.com/mima_ita/items/dd95ba1f25ba176fccb3C# デザインパターン  http://gushwell.ifdef.jp/dp/csdpindex.htmlC# 4.0 で実装するデザインパターン「その1 生成に関するパターン」http://blog.okazuki.jp/entry/20110103/1294028317

40

Page 41: ASP.NET WebForms調査

参考 URLC# で Mid 、 Left 、 Right関数の代わりになるものは?http://dobon.net/vb/dotnet/vb2cs/mid.html接続文字列の書き方をまとめてみる( 2014 年版)http://blog.shibayan.jp/entry/20140728/1406520000SQL Server 2014 Express LocalDB の接続文字列で躓いたhttp://overmorrow.hatenablog.com/entry/2015/04/01/221601SqlParameterCollection の AddWithValue がやたら遅い。http://2next.me/archives/274SQL パラメータを使用した場合、処理速度が遅いのですがhttp://qa.atmarkit.co.jp/q/4835DO’s&DONT’s #18: やった方がいいこと – .NET Framework アプリケーションでパラメータクエリを実行する場合にはパラメータのデータ型やサイズを明示的に指定するhttps://blogs.msdn.microsoft.com/jpsql/2013/06/25/dosdonts-18-net-framework-124/

41

Page 42: ASP.NET WebForms調査

参考 URLどうする? SQL Server のクエリ パフォーマンスが低下した!https://blogs.msdn.microsoft.com/jpsql/2013/09/03/sql-server-5/SQL Server データ型のマッピングhttps://msdn.microsoft.com/ja-jp/library/cc716729%28v=vs.110%29.aspxSqlConnection.Close メソッドhttps://msdn.microsoft.com/ja-jp/library/system.data.sqlclient.sqlconnection.close(VS.80).aspxDbDataReader.Dispose メソッド (Boolean)https://msdn.microsoft.com/ja-jp/library/ms224566.aspxADO.NET IN 句に SqlParameterCollection.AddWithValue メソッドを使うhttp://sh-yoshida.hatenablog.com/entry/2016/01/30/082157#f-9c5b6aaf

42