投稿

5月, 2015の投稿を表示しています

ファイル名を一括変換する手順

イメージ
C#とは関係ないが、便利だったので、ファイル名を一括変換する手順を。 たとえば「abc_d001_xxx」のようなファイル(xxxの部分がここのファイルで違う)がたくさんあり、これを「abc_d002_xxx」に変えたいときは、MS-DOSコマンドのrenameを使うとできる。 rename *d001* *d002* これらのファイル名が こうなる。 これは便利!

トランザクション スコープを使うと分散トランザクションにされてしまう

データベースでトランザクションを実行するとき、C#ではTransactionScopeを使うと便利。 トランザクション スコープを使用した暗黙的なトランザクションの実装 デバッグしているときも、最後のCompleteメソッドを呼ばなければ、何も変わらないから助かる。

.NET Framework4のサポートは2016年に切れる

.NET Framework4のサポートが2016年に切れる件。 .NET Framework3.5.1はWindows7のサポート期限切れまで大丈夫らしいので、オリンピックの年までは大丈夫みたい。 Microsoft .NET Framework サポート ライフサイクル ポリシーの いつも通り日本語がおかしい。機械翻訳だからこんなものか。

MSDNのダウンロードが使えない

久しぶりに(2014年2月)MSDNからダウンロードしようとしたら、いつものダウンロードソフトの画面が出てこない。 InternetExprorerが11に上がったせいみたい。 下記のページにあるように、Ie9をエミュレートすればできた。 MSDN サブスクリプションの web サイトにいくつかのダウンロードを完了できません。 タイトルの日本語がおかしい、、、 Ie11は過去との互換性をかなり切り捨てたみたいだなあ。

テーブルの情報が保存されたシステムテーブル

テーブルの情報を得るシステムテーブルには、  sysobjects と  sys.objects と2つある。 紛らわしいので注意。

テーブルの列の情報

テーブルの列の情報は syscolumns テーブルに保存されている。 たとえば、すべてのテーブルに定義されているvarchar列を一覧するSQLは以下のような感じ。 select   name, object_name(id), type_name(xtype) from   sys.syscolumns where   object_name(id) like 'xxx%'   -- テーブル名で絞り込みたい and   type_name(xtype) = 'varchar' order by   id

リモートデバッグ

VisualStudio2013だと別のパソコンで動いているDLLをデバッグすることも簡単にできた。びっくり!素晴らしいなVisualStudio。 デバイスのリモート ツールのセットアップ

SQLServer2008のデータファイルのSQLServer2005にコピーしても

イメージ
SQLServer2008のデータファイルをSQLServer2005にコピーしても、参照することはできない。 こんなエラーがでる。

タブコントロールの隠れているページにあるデータグリッドビューの表示がおかしい件

イメージ
WinFormで作った画面で、タブコントロールの隠れているタブを開くと、そこに貼ってあるデータグリッドビューの表示がきちんとされていない(セルの色がついていない、列幅の調整がされていないなど)ことがある。 これは昔からあるバグみたい。 対策は、フォームのロード時に2ページ目のタブを無理やり表示するとよいみたい。         private void Form4_Load(object sender, EventArgs e)         {             this.tabPage2.Show();         }

エクセルで前ゼロが消える(「001」が「1」になる)問題への対処手順

データテーブルをエクセルに保存するソフトを考えていたら、「001」という文字列が「1」に変わってしまう問題に気がついた。エクセルだと、よくあるパターン。

フォームの表示位置を指定する

Windows Formの位置を指定するときは、DesktopLocationプロパティを使うと簡単。 fm.StartPosition = FormStartPosition.Manual; fm.DesktopLocation = new System.Drawing.Point(posLeft, posTop); デスクトップの絶対位置座標を指定することになる。

エクセルの製品とバージョン番号との対応

エクセルを操作するソフトを作るときに参照するDLLファイルのバージョンを気にする必要があるので、エクセルの製品とバージョン番号との対応表をまとめておく。

SQLServerのバージョンとエディションを調べる手順

イメージ
インストールされているSQLServerのバージョンとエディションを調べる手順。 (1)SQLServerのインストールセンターを起動する。 (2)ツールの「インストール済みSQLServer機能の検出レポート」のリンクをクリックする。 (3)少し待つと結果が表示される。

Windows7のVirtualPCについてのメモ

イメージ
その1 Windows7の仮想PCで日時を変更しても、数秒後には本体のパソコンの日付に同期してしまう。 日付を変更してテストしたいときは、本体のパソコンの日付を変更するとよい。勝手に仮想PCの日時も変わっている。 その2 VirtualPCでWindows7のHome Premiumをセットアップしたら、統合機能が有効にできなかった。Professionalでないとできないの? 仕方ないので新しい仮想PCを作ろうとしたときに、HOMEをPROにアップグレードすればいいのでは!と思いついた。ソフトを入れ直すのは大変だし、アップグレードをまずは試してみる。 PROにはアップグレードできたけど、統合機能は有効にできなかった。だめだなこれは。カナ漢字変換もできないし、この仮想PCはいろいろと駄目だ。 その3 仮想PCを作ったらWindowsUpdate。いつものことながらに時間がかかる。

アセンブリ '<アセンブリ>' は、必要条件として設定されるためには、厳密に署名されていなければなりません。

ビルドしていると「アセンブリ '<アセンブリ>' は、必要条件として設定されるためには、厳密に署名されていなければなりません。」というエラーが表示されることがある。 プロジェクトのセキュリティで「ClickOnceセキュリティ設定を有効にしてください」に知らないうちにチェックが入っていたら、これを外すとエラーは出なくなる。 2日も悩まされた。

SQLServer2008をアップグレードするときにハマった

イメージ
SQLServerのExpress版をStandard版にアップグレードするときにはまったので、手順をメモします。 ハマる条件 (1)SQLServerが32ビット (2)Windowsは64ビット 手順 (1)SQLServerStandardのセットアップCDからセットアップを起動する (2)SQLServerインストールセンターが現れる (3)左側の「オプション」をクリック、右側で「x86」を選ぶ。 (4)左側の「メンテナンス」をクリック、「エディションのアップグレード」をクリックする。 あとはウイザードに従って進めていく。 (3)の手順を忘れると、ウイザードは正常に終了するのだけど、アップグレードはされていないという困った状況が発生するので注意。

処理中にマウスを待機中にする手順

処理中にマウスを待機状態にする手順。                 Cursor.Current = Cursors.WaitCursor;       (時間のかかる処理)                 Cursor.Current = Cursors.Default; try/catch で囲っているなら、 catch のところでデフォルトに戻すことを忘れずに。

チャートコントロールのサンプル集

イメージ
マイクロソフトのサイトからダウンロードしたチャートコントロールのサンプル集。いろいろできるのね。もっと使わないといかんなあ。 * (追記)2017/6/26 久しぶりにチャートコントロールを触ることになったので、サンプル集を久しぶりにダウンロードした。そのときの作業をメモしておく。 ダウンロードしたのはここから。 Samples Environments for Microsoft Chart Controls ダウンロードしたZIPファイルを展開すると長い名前のフォルダができる。以下の順にフォルダを開いていく。 Samples Environments for Microsoft Chart Controls  Windows Forms Samples Environment for Microsoft Chart Controls   C# そこにソリューションファイルがあるので、VisualStudioで開いてビルドする。 同じフォルダに「WinFormsChartSamples.exe」という実行ファイルができる。これがサンプル集。 ただし、実行するとエラーがでるので、下記の2つのファイルを、親フォルダにコピーしておく。 cs_langDef.xml vbnet_langDef.xml このサンプル集は、プロパティの使い方なども説明してくれるので、大変ありがたい。グラフでズームができるなんて知らなかったよ。 *

VisualBasic6.0のサポートについて

そろそろVB6ともおさらばしないと。 Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する Visual Basic 6.0 のサポートに関する声明

VisualStudio2013のセットアップでエラー

イメージ
vs2013をセットアップしたらエラーが出た。なんだろうこれ? アンインストールして、もう一度セットアップしたらうまくいった。変な状態で使うのは使うのは嫌なので、エラーが解消してよかった。

ソフトにリボンインターフェースを追加する方法

アプリケーションにリボンを付けたい場合の試行錯誤をメモ。 WinFormでは作れない。 ConponentOneがWinForm用のリボン部品を提供しているがもちろん有償。 WPFでは作れるが、かなり面倒。 .NET framework4.5 だとリボンコントロールが提供されているので、VisualStudioから使える。ただしツールボックスには表示されないので、自分で選択して追加する。リボン関係の分品はたくさんあるので、どれが必要なのかわからない。 リボン、タブ、グループという順に部品を重ねていく。 WPFの画面編集はすこぶる使いにくい。 リボンのタブを選んでも選択されない。グループの上にボタンを載せても姿が見えない。 WPFに慣れていないせいもある。 ということで、アプリケーションにリボンを追加するのは簡単にはいかない模様。 ちなみに、エクセルアドインプロジェクトならリボンは簡単に作れます。

VisualStudio2013のイメージライブラリ

イメージ
vs2013のイメージライブラリは下記のページからダウンロードできる。 探すの大変だったのでメモ。 Visual Studio Image Library アイコンとか山のようにあります。 VisualStudioのアイコン集をダウンロードしたら、見事にフラットデザインだった。

VisualStudio2013でセットアッププロジェクトを使うための手順

イメージ
vs2012で消えたセットアッププロジェクトがvs2013で使えるようになったので、そのための手順。 vs2013のツールメニュー→拡張機能と更新プログラムを選ぶ VisualStudioギャラリーからツール→セットアップと展開を選ぶと多分1番最初に「Microsoft Visual Studio Installer Projects」があるので(下図)、インストールする。 しかし、メニューは全部英語なのだった。 

bcpコマンドのパス

SQLServerでは数万行のCSVファイルをinsert文で取り込むと時間がかかってし方がない、高速化したいというときに、bcpというコマンドを使うことがある。 bcpコマンドは、SQLServerのバージョンによって動作が違うところもあって、パソコンに2つのバージョンのSQLServerがセットアップされていると、エラーが起きたりして困る。 そこで、bcpコマンドのパスを探してフルパスで指定して実行するという手段で解決したりする。

テーブルの差異をチェックする

SQLServerでテーブルの差異をチェックしたいときはexceptを使うと便利。2018/1/16追記。

SQLServerでデータベースをコピーする手順

インスタンス内でデータベースをコピーするときは、SQLServer Management Studioで以下の操作を実行する。 データベースをバックアップする。 左のツリーで「データベース」を選んで右クリック→「データベースの復元」を選ぶ。 バックアップしたファイルを復元もとに指定、復元先に新しいデータベース名を指定する。 注意としては、既存のデータベースに復元しようとするとエラーになる。コピー先のデータベースは復元時に新規作成することになる。 #google+に投稿していたのだが検索できないのでブログに移した。