私にとってもう1つの厄介なものですが、おそらく単純なものです。
ユーザー入力に基づくクエリの where 句がいくつかありますが、これらをプログラムで追加するにはどうすればよいですか?
例えば:
wherequery = @"WHERE fieldname = @p_FieldName AND ";
if (txtValue.textLength > 0){
wherequery += "fieldname2 = @p_FieldName2 AND ";
}
query = @"SELECT * FROM tabe" + wherequery;
sql = connection.CreateCommand();
sql.CommandText = query;
そのためのパラメーターをどのように実行しますか? ArrayLists、Dictionaries、およびその他のいくつかの方法を試しましたが、それを行う方法が見つかりません。理想的には、次のようなことをしたいと思います。
SqlParameter[] sqlparams;
wherequery = @"WHERE fieldname = @p_FieldName AND ";
if (txtValue.textLength > 0){
wherequery += "fieldname2 = @p_FieldName2 AND ";
sqlparams.Parameters.Add("@p_FieldName2 ", SqlDbType.VarChar).Value = txtValue.text;
}
query = @"SELECT * FROM tabe" + wherequery;
sql = connection.CreateCommand();
sql.CommandText = query;
sql.Parameters.Add(sqlparams);