15.11.7 SQL文のエラー判定とエラー情報の取得
SQL文のエラー判定をして,エラーがある場合はエラー情報を取得する例を次に示します。
プログラム例はVisual C# .NETで記述していますが,Visual Basic.NETでもほぼ同じ内容です。必要に応じて,読み替えてください。
using System;
using System.IO;
using System.Data;
using System.Windows.Forms;
using Hitachi.HiRDB;
namespace SAMPLE
{
public class SAMPLE
{
static void Main()
{
HiRDBConnection connection1 = new HiRDBConnection
("datasource=C:\\Windows\\HiRDB.ini;UID=USER1;PWD=USER1;");
HiRDBCommand cm = new HiRDBCommand();
try
{
// 接続実行 ........................................1
connection1.Open();
cm.Connection = connection1;
// *********************************************
// SAMPLE1(C1 INT,C2 INT,C3 VARCHAR(30))の検索例 ...2
// *********************************************
// パラメタオブジェクトを作成する
HiRDBParameter par = cm.CreateParameter();
// パラメタ属性設定
// 入力パラメタ
par.Direction = ParameterDirection.Input;
// INTEGER型
par.HiRDBType = HiRDBType.Integer;
int aValue;
aValue = 200;
// パラメタ値設定
par.Value = aValue;
// SQL設定
cm.CommandText = "SELECT C2,C3 FROM SAMPLE1 WHERE C1=?
WITH EXCLUSIVE LOCK NO WAIT";
// パラメタオブジェクトの割り当て
cm.Parameters.Add(par);
// DataReaderオブジェクト取得
HiRDBDataReader dr = cm.ExecuteReader();
int cnt=1;
Console.WriteLine("**** 検索実行 ****");
while(dr.Read())
{
Console.WriteLine("**** "+cnt+"行目検索 ***");
// C2のデータ表示
Console.WriteLine("C2="+dr.GetInt32(0));
// C3のデータ表示
Console.WriteLine("C3="+dr.GetString(1));
cnt ++;
}
// DataReaderの解放
dr.Close();
// 切断 ............................................3
connection1.Close();
connection1.Dispose();
}
catch (HiRDBException ex) ..............................4
{
// エラー情報出力
Console.WriteLine(ex);
// 個別情報は以下の処理で取得
// SQLCODEの出力
Console.WriteLine("SQLCODE="+ex.ErrorCode);
// SQLERRM(SQLメッセージ)の出力
Console.WriteLine("SQLERRM=" + ex.Message);
}
}
}
}
- [説明]
-
-
Openメソッドを使用してHiRDBへ接続します。
-
指定した条件と一致する行を表示させるSQL文を実行します。
-
Closeメソッドを使用してHiRDBから切断します。
-
エラーになった場合はSQLExceptionを返し,エラー情報を出力します。
-