SQL 查詢小技巧
public DataSet getBookByID(string strID)
{
string strSQL = "SELECT ID, Name, Price, Category FROM Books WHERE (ID LIKE @ID)";
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@ID", SqlDbType.NChar, 4);
param[0].Value = strID;
return Util.getData(strSQL, param, "books");
}
其中 ID 的資料型態是 4 個字元的固定長度,如果查詢參數設成一樣的型態,且用 % 做萬用查詢時,會查不到資料。問題在於固定長度的資料型態,若資料不足的話會補空白。所以改成可變長度的資料型態就 OK 了 (其中資料長度變成 6 是加上前後的 % 字元)
param[0] = new SqlParameter("@ID", SqlDbType.NVarChar, 6);
留言