但在有多種可變的查詢條件下,SQL語句的長度就不一定了,那就需要我們的SQL語句拼接了。
比如:
string sqlstr= "SELECT 條件1,條件2,條件3,條件4 FROM 表1 s1 INNER JOIN 表2 where";
在程式中進行多表查詢的時候由於SQL語句的長度是可變的,我們就需要字串拼接了。
sqlstr += " (S1.S_ID like @query or S1.S_NAME like @query or S1.S_Mobile like @query or S1.S_Address like @query or S1.S_Crad like @query) and";
因為不知道要拼接多少SQL語句,所以
在每條SQL語句後邊需加AND 。
SqlParameter name = new SqlParameter("@query", "%" + textBox2.Text + "%");
comm.Parameters.Add(name);
然後再拼接下一條SQL語句。
在最後拼接的SQL語句後邊寫上:
comm.CommandText = sqlstr.TrimEnd(new char[] { "a", "n", "d", " " });
因為TrimEnd是從當前System.string物件移除陣列中指定的一組字元的所有尾部匹配項,
所以,我們需要再上邊定義一個數組 new char[]{"a","n","d"" "};
如果不移除AND,程式會報錯。
但在有多種可變的查詢條件下,SQL語句的長度就不一定了,那就需要我們的SQL語句拼接了。
比如:
string sqlstr= "SELECT 條件1,條件2,條件3,條件4 FROM 表1 s1 INNER JOIN 表2 where";
在程式中進行多表查詢的時候由於SQL語句的長度是可變的,我們就需要字串拼接了。
sqlstr += " (S1.S_ID like @query or S1.S_NAME like @query or S1.S_Mobile like @query or S1.S_Address like @query or S1.S_Crad like @query) and";
因為不知道要拼接多少SQL語句,所以
在每條SQL語句後邊需加AND 。
SqlParameter name = new SqlParameter("@query", "%" + textBox2.Text + "%");
comm.Parameters.Add(name);
然後再拼接下一條SQL語句。
在最後拼接的SQL語句後邊寫上:
comm.CommandText = sqlstr.TrimEnd(new char[] { "a", "n", "d", " " });
因為TrimEnd是從當前System.string物件移除陣列中指定的一組字元的所有尾部匹配項,
所以,我們需要再上邊定義一個數組 new char[]{"a","n","d"" "};
如果不移除AND,程式會報錯。