サイラスの本棚
2005-11-08
[SQL][C#]更新系ストアドプロシージャの実行
private System.Data.SqlClient.SqlConnection DatabaseConnection;
・・・
// DBコネクションオープン
if (DatabaseConnection.State == System.Data.ConnectionState.Closed)
DatabaseConnection.Open();
// SQLコマンド生成
SqlCommand cmd = new SqlCommand();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "sp_calc_hoge";
cmd.Connection = this.DatabaseConnection;
cmd.CommandTimeout = 300; // 5分
// パラメータ設定
cmd.Parameters.Add("@foo", SqlDbType.Float,8,"foo");
cmd.Parameters["@foo"].Value = fFoo;
// 実行
nStatus = cmd.ExecuteNonQuery();
2005-11-09
[SQL][C#]SqlCommand.Parametersにnull値を入れる方法
using System.Data.SqlClient; using System.Data.SqlTypes; ・・・ cmd.Parameters["@sHoge"].Value = SqlString.Null; cmd.Parameters["@dHoge"].Value = SqlDateTime.Null; cmd.Parameters["@nHoge"].Value = SqlInt32.Null; cmd.Parameters["@bHoge"].Value = SqlBoolean.Null;DataRowの場合は以下の通り。
DataRow row; ・・・ row["hoge"] = System.DBNull.Value;
2005-11-16
[SQL] CASE WHEN のサンプル
SELECT *, CASE WHEN T_Bar.CompanySectionID = '1' AND
sSalesCompanyID = '' THEN 0 ELSE 1 END AS CaseP1,
T_CompanySection.CompanySectionName + ' ' + T_Bar.sSalesCompanyName
+ ' ' + RTRIM(T_Bar.sDepartment)
+ ' ' + RTRIM(T_Bar.sName)
+ ' ' + RTRIM(T_Bar.sAddress) AS Info
FROM T_Bar INNER JOIN
T_CompanySection ON
T_Bar.CompanySectionID = T_CompanySection.CompanySectionID
ORDER BY CaseP1, T_Bar.CompanySectionID, T_Bar.sSalesCompanyID




