C# の浮動小数点型の小さな拡張メソッド ハングは、SQL 呼び出しのパラメーター リストを構築する際にうまく機能するはずです。
public static SqlParameter PositiveOrNullSqlParameter( this float value , string name )
{
return PositiveOrNullSqlParameter( (double) value , name ) ;
}
public static SqlParameter PositiveOrNullSqlParameter( this double value , string name )
{
SqlParameter p = new SqlParameter( name , System.Data.SqlDbType.Float ) ;
p.Value = ( value > 0 ? (object) value : (object) DBNull.Value ) ;
return p ;
}
それを手にしたら…
int insertDataIntoMyTable( double p1 , double p2 , ... , double p99 )
{
int rowcount ;
string connectString = ConfigurationManager.ConnectionStrings[ "MyConnectionString" ].ConnectionString ;
using ( SqlConnection conn = new SqlConnection( ) )
using ( SqlCommand cmd = conn.CreateCommand() )
{
cmd.CommandText = "insertDataIntoTable" ;
cmd.CommandType = CommandType.StoredProcedure ;
cmd.Parameters.Add( p1.PositiveOrNullSqlParameter( "@p01" ) ;
cmd.Parameters.Add( p2.PositiveOrNullSqlParameter( "@p02" ) ;
.
.
.
cmd.Parameters.Add( p99.PositiveOrNullSqlParameter( "@p99" ) ;
rowcount = cmd.ExecuteNonQuery() ;
}
return rowcount ;
}