iPhoneで二回以上コールしないと電話がつながらない場合、おやすみモード設定がONになっている可能性がある。
以下、解除方法

1.ホーム画面から「設定」を選択

2.設定画面から「おやすみモード」を選択

3.「おやすみモード」設定をOFFにする
※PRINT文でもメッセージ出力は行われるがPRINT文の場合、プロシージャの処理が完全に終了してから出力される。
- RAISERROR('表示させたいメッセージ', 0, 0) WITH NOWAIT
- insert into table1(column1, column2, column3) values ('data1', 'data2', 'data3');
- insert into table2(column1, column2, column3) values ('data1', 'data2', 'data3');
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
- insert all
- into table1(column1, column2, column3) values ('data1', 'data2', 'data3')
- into table2(column1, column2, column3) values ('data1', 'data2', 'data3')
- select * from dual;
- insert all
- into table1(column1, column2, column3) values ('data1', 'data2', 'data3')
- into table1(column1, column2, column3) values ('data4', 'data5', 'data6')
- into table2(column1, column2, column3) values ('data1', 'data2', 'data3')
- into table3(column1, column2, column3) values ('data1', 'data2', 'data3')
- into table4(column1, column2, column3) values ('data1', 'data2', 'data3')
- select * from dual;
- using System;
- using System.ComponentModel;
- using System.Windows.Forms;
- namespace invoke
- {
- public partial class Form1 : Form
- {
- //値取得用デリゲート
- delegate string dlgGetText();
- delegate void dlgSetText(string set);
- public Form1()
- {
- InitializeComponent();
- // バックグラウンド処理メソッド追加
- //DoWork:メソッド追加
- this.backgroundWorker1.DoWork +=
- new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
- }
- private void btnStart_Click(object sender, EventArgs e)
- {
- //バックグラウンドDoWork処理開始
- this.backgroundWorker1.RunWorkerAsync();
- }
- private string getText()
- {
- //テキストボックス1の値を取得する
- return this.textBox1.Text;
- }
- private void setText(string setString)
- {
- //引数値をテキストボックス2にセットする
- this.textBox2.Text = setString;
- }
- private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
- {
- string get;
- //テキストボックス1の値を取得する
- get = Invoke(new dlgGetText(getText)).ToString();
-
- //取得した値をテキストボックス2にセットする
- Invoke(new dlgSetText(setText), new object[] {get});
- }
- }
- }
■画面 |
■デザイナ |
※バックグラウンド処理中にキャンセル処理を行う場合は
バックグラウンドワーカーのWorkerSupportsCancellationプロパティをTrueに設定する。
Trueに設定されていない場合「this.backgroundWorker1.CancelAsync();」実行時にエラーとなる。
|
- using System;
- using System.ComponentModel;
- using System.Windows.Forms;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- // バックグラウンド処理メソッド追加
- //DoWork:メソッド追加
- this.backgroundWorker1.DoWork +=
- new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
- //ProgressChanged:メソッド追加
- this.backgroundWorker1.ProgressChanged +=
- new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorker1_ProgressChanged);
- //RunWorkerCompleted:メソッド追加
- this.backgroundWorker1.RunWorkerCompleted +=
- new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
- }
- //DoWork:バックグラウンドで実行される
- private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
- {
- //sender値取得
- BackgroundWorker bgw = (BackgroundWorker)sender;
-
- //何か重い処理
- for (long i = 0; i < 100000000000; i++)
- {
- //バックグラウンドで実行する処理
- //キャンセルボタンからCancelAsyncが実行された場合(キャンセル待ち待機)
- if (bgw.CancellationPending)
- {
- //処理中断
- return;
- }
- }
- }
-
- //ProgressChanged:バックグラウンド処理中に定期的に実行される
- private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- //プログレスバーの更新処理を記述
- }
- //RunWorkerCompleted:DoWork終了後に実行
- private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- if (false == e.Cancelled)
- {
- //処理終了時
- MessageBox.Show("処理終了");
- }
- else
- {
- //キャンセルボタンからCancelAsyncが実行された場合
- MessageBox.Show("実行中にキャンセルされました");
- }
- //プログレスバーの表示を戻す
- this.progressBar1.Style = ProgressBarStyle.Blocks;
- }
- //処理開始ボタン
- private void btnStart_Click(object sender, EventArgs e)
- {
- //プログレスバーをマーキー表示にする
- this.progressBar1.Style = ProgressBarStyle.Marquee;
- //バックグラウンド処理の開始
- this.backgroundWorker1.RunWorkerAsync();
- }
- //処理中止ボタン
- private void btnCancel_Click(object sender, EventArgs e)
- {
- //バックグラウンド処理の終了要求の送信
- //(CancelAsyncのみでは処理は中断されない)
- this.backgroundWorker1.CancelAsync();
- }
- }
- }