共通ドキュメント

[共通ライブラリ概要]Command

概要

データベースクエリーのラッパー。

使用方法

  1. クエリー文字列、クエリータイプから CFW.Database.Command クラスの新規インスタンスを生成する。
  2. 必要に応じ Parameter オブジェクトを作成して追加する。
  3. ConnectionオブジェクトにCommandを実行させる

注意

  • 動的パラメータをクエリー文字列内に直接記述しない。必ずパラメータクエリーを作成し、Parameterオブジェクトを使用する。

例 - 選択クエリー実行(C#)

Connection connection = ConnectionFactory.GetConnectionByName("default");
connection.Open();
try{
	string query = @"select * from MST_CITY where CITY_CODE=@cityCode";

	//このような作成の仕方はダメ
	// cityCode = "Z001";
	//string query = @"select * from MST_CITY where CITY_CODE= '" + cityCode + "'";

	//これもダメ。全てのクエリーが正しくConnection.Quoteを使っているかどうかチェックしている暇はない。
	// cityCode = "Z001";
	//string query = @"select * from MST_CITY where CITY_CODE= " + Connection.Quote( cityCode ) + "";

	Command command = new Command(query,CommandType.Text);
	command.SetParameter(new CFW.Database.Parameter( "@cityCode",DbType.String,"1"));
	DataSet result = connection.ExecuteQuery(command);
	
}
catch(Exception ex){
	ErrorHandler handler = ErrorHandler.GetInstance(ex);
	handler.WriteLog();
}
finally{
	connection.Close();
}
 
例 - 更新クエリー実行(C#)

Connection connection = ConnectionFactory.GetConnectionByName("default");
connection.Open();
try{
	string query = @"update MST_CITY set AREAS_CODE = @areasCode where CITY_CODE=@cityCode";
	Command command = new Command(query,CommandType.Text);
	command.SetParameter(new CFW.Database.Parameter( "@areasCode",DbType.String,"JPN"));
	command.SetParameter(new CFW.Database.Parameter( "@cityCode",DbType.String,"1"));
	int result = connection.ExecuteUpdate(command);
	
}
catch(Exception ex){
	ErrorHandler handler = ErrorHandler.GetInstance(ex);
	handler.WriteLog();
}
finally{
	connection.Close();
}