|
Mr.Tです、こんにちは。
> StringBuilder cond = new StringBuilder(); > if (TB書名.Text.Length > 0) { > cond.AppendFormat("AND 書名 LIKE '%{1}%'", TB書名.Text); > } > if (TB著者名.Text.Length > 0) { > cond.AppendFormat("AND 著者名 LIKE '%{1}%'", TB著者名.Text); > } > if (TB出版社.Text.Length > 0) { > cond.AppendFormat("AND 出版社 LIKE '%{1}%'", TB出版社.Text); > } > // この時点で、1つ以上の条件が指定されていれば、必ず先頭に "AND " がついている > string sql = string.Format("... WHERE {1}", cond.ToString().SubString(4)); > > > 必ず先頭に "AND " がついているようにすれば、最終的に取り出せばいいのは > インデックスが4以降になります。
ちょっとだけ尻馬。 StringBuilder cond = new StringBuilder(); cond.Append("WHERE 1=1");←必ず正となる条件ならOK なら、SubStringしなくてもよいです。 string sql = string.Format("... From Hoge {1}", cond.ToString());
|