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);

留言

這個網誌中的熱門文章

Linux 批次檔的寫法

【分享】如何顯示 Debug Message

SketchUp 如何列印 1:1 圖檔