Oracle
Insert All
Into Table名(Column1, Column2, ....)
Values (val1, val2, ....)
Into Table名(Column1, Column2, ....)
Values (val1, val2, ....)
select * from dual
SQLSERVER
Insert Into Table名(column1, column2, ....)
Values(val1, val2, ....)
,Values(val1, val2, ....)
SQLServerのがすきだなInsert
コルクボード
備忘録だったりメモだったりペタペタと
2014年9月4日木曜日
2014年8月6日水曜日
SQLServer2012でmdbをアタッチしたらアクセスできません、の件
タイトルどおり。5:アクセスできません とエラーが出る。
そーなのかーと思い管理者権限で実行。変わらず。
調べてみるとアクセス許可がいるそう(フォルダのプロパティ>セキュリティ>対象ユーザーの変更許可)
Windowsじゃあまり意識することないからぱっとエラーメッセージからアクセス権限ってのは気づかなかった
そーなのかーと思い管理者権限で実行。変わらず。
調べてみるとアクセス許可がいるそう(フォルダのプロパティ>セキュリティ>対象ユーザーの変更許可)
Windowsじゃあまり意識することないからぱっとエラーメッセージからアクセス権限ってのは気づかなかった
2014年7月3日木曜日
プロセス終了検知
プロセスが終了するまで次の処理を行わない
using System.Diagnostics; class Project { //メイン public static void Main(string[] args) { //プロセスが終了するまで次のプロセスを行わない string processName = "notepad"; if (IsStopedProcess(processName)) { System.Diagnostics.Debug.WriteLine("notepad終了"); } } ////// プロセス終了検知 /// プロセスが終了するまでループし続ける /// /// ///public static bool IsStopedProcess(string processName) { foreach (var process in Process.GetProcessesByName(processName)) { //プロセスが終了したらTrue while (!process.HasExited) { System.Threading.Thread.Sleep(1000); } } return true; } }
プロセスが終了するまで待つ
この場合メモ帳が閉じられるまで無限ループし続けるプロセスがなければProcess.GetProcessesByNameで拾えず抜けるし、拾えたらHasExitedでプロセスが閉じるまで監視し続ける
このプロセスが終わってから次の処理へ、としたい場合に使う
2014年6月18日水曜日
セマフォ!Semaphore!スレッドの実行数指定
セマフォの初期実行数0にハマったのでここに記す。
0だとReleaseしない限りWaitOneでtrue返らないなんて。
0からカウントアップして最大実効数まで使えると思ってたよ
わたしは4番の労働者です。待機中です。
わたしは5番の労働者です。待機中です。
わたしは1番の労働者です。待機中です。
わたしは3番の労働者です。待機中です。
わたしは2番の労働者です。労働しています。
わたしは3番の労働者です。労働しています。
わたしは4番の労働者です。待機中です。
わたしは1番の労働者です。待機中です。
わたしは5番の労働者です。待機中です。
わたしは5番の労働者です。労働しています。
わたしは1番の労働者です。労働しています。
わたしは4番の労働者です。労働しています。
0だとReleaseしない限りWaitOneでtrue返らないなんて。
0からカウントアップして最大実効数まで使えると思ってたよ
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Threading; namespace Project4 { class Program { //セマフォ //スレッドの同時実効数を設定。この場合初期実行数0, 最大実効数2 static Semaphore _sem = new Semaphore(0, 2); static void Main(string[] args) { //労働者5人を働かせる for (var i = 0; i < 5; i++) { Emploee emp = new Emploee(i + 1); emp.SetSemaphore = _sem; emp.IsWorking = true; Thread t = new Thread(new ThreadStart(emp.working)); t.Start(); } Thread.Sleep(500); //初期実行数0なのでReleaseしないとWaitOneでシグナルを取得できない _sem.Release(2); } } ////// 従業員。働け /// class Emploee { #region member ///セマフォ private Semaphore _sem; ///労働者番号 private int _number; #endregion #region Property ///セマフォ public Semaphore SetSemaphore { set { this._sem = value; } } ///労働中? public bool IsWorking { get; set; } #endregion public Emploee(int number) { this.IsWorking = false; this._number = number; } public void working() { //働いてもらう while (this.IsWorking) { //指定ミリ秒数毎に監視。 //セマフォ.WaitOneで実行数 -1。実行数が0ならWaitOneでfalseが返る if (this._sem.WaitOne(300)) { System.Diagnostics.Debug.WriteLine(string.Format("わたしは{0}番の労働者です。労働しています。", this._number)); Thread.Sleep(200); //働いたらあがっていい this.IsWorking = false; } else { System.Diagnostics.Debug.WriteLine(string.Format("わたしは{0}番の労働者です。待機中です。", this._number)); } } //開放するとセマフォの実行数 + 1 this._sem.Release(); } } }
実行結果
わたしは2番の労働者です。待機中です。わたしは4番の労働者です。待機中です。
わたしは5番の労働者です。待機中です。
わたしは1番の労働者です。待機中です。
わたしは3番の労働者です。待機中です。
わたしは2番の労働者です。労働しています。
わたしは3番の労働者です。労働しています。
わたしは4番の労働者です。待機中です。
わたしは1番の労働者です。待機中です。
わたしは5番の労働者です。待機中です。
わたしは5番の労働者です。労働しています。
わたしは1番の労働者です。労働しています。
わたしは4番の労働者です。労働しています。
2014年6月9日月曜日
ActiveDirectoryてなにさ
WindowsServerの機能でネットワーク上ユーザーやPCやグループを管理
接続認証とかをやるのがDomainControllerちゃん!
IT用語
http://e-words.jp/w/Active20Directory.html
@IT 第1回 Active Directoryとは何か?
http://www.atmarkit.co.jp/ait/articles/0209/12/news003.html
接続認証とかをやるのがDomainControllerちゃん!
IT用語
http://e-words.jp/w/Active20Directory.html
@IT 第1回 Active Directoryとは何か?
http://www.atmarkit.co.jp/ait/articles/0209/12/news003.html
ラベル:
IT用語,
WindwosServer,
メモ
2014年6月1日日曜日
オブジェクトの初期化構文 - C#ショートプログラミング -
オブジェクトに初期値を与えたい
OLD
class Example { internal string A, B, C; } class Program { static void Main(string[] args) { var sample = new Example(); sample.A = "{0} {1}"; sample.B = "This is B!"; sample.C = "This is C!"; System.Diagnostics.Debug.WriteLine(sample.A, sample.B, sample.C); } }
NEW
//C#2.0 class Example { internal string A, B, C; } class Program { static void Main(string[] args) { var sample = new Example() { A = "{0} {1}", B = "This is B!", C = "This is C!", }; System.Diagnostics.Debug.WriteLine(sample.A, sample.B, sample.C); } }
Result
This is B! This is C!・初期化専用構文
・インスタンスを明示しなくていいのでメンバー数が多いほど効果大
引用元:
C#ショートプログラミング
条件演算子とnull合体演算子 - C#ショートプログラミング -
string型の内容を出力したいが、nullの場合は"(null)"と出力する
OLD1
class Program { static void Main(string[] args) { string a = "We are the Hello World"; if (a == null) { System.Diagnostics.Debug.WriteLine("(null)"); } else { System.Diagnostics.Debug.WriteLine(a); } } }
OLD2
class Program { static void Main(string[] args) { string a = "We are the Hello World"; System.Diagnostics.Debug.WriteLine(a == null ? "(null)" : a); } }
NEW
class Program { static void Main(string[] args) { string a = "We are the Hello World"; System.Diagnostics.Debug.WriteLine(a ?? "(null)"); } }
Result
We are the Hello World・?? はnull合体演算子という。オペランドが null 以外の場合、左オペランドを返し、それ以外の場合は右オペランドを返す。
・C#にしかないようなので汎用性は低い。
引用元:
C#ショートプログラミング
登録:
投稿 (Atom)