首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 基礎系列:MiniORM 測試代碼與兩個 Bug 修正

     編輯:關於C語言

Bug 1:GetObjectType 快取邏輯缺陷


public static Type GetObjectType(string asm, string ns, string cls) {
    Type t = (Type)_cache[asm + ns + cls];
    if (t == null) {
        object obj = _cache[asm + ns + cls]; // 錯誤:應為 Assembly.Load...
        obj = Assembly.Load(asm).CreateInstance(ns + "." + cls);
        _cache[asm + ns + cls] = obj.GetType();
        // 缺少:t = (Type)_cache[...]; 導致回傳 null
    }
    return t;
}

修正:存入快取後必須重新讀取指派給 t,否則回傳 null。

Bug 2:CheckValidate WHERE 條件為空未檢查


string strWhere = "";
// ... 組裝 strWhere ...
// 缺少 if (strWhere.Trim() != "") 判斷
strSQL = string.Format(strSQL, tableName, strWhere); // 產生 WHERE  導致 SQL 錯誤

修正:執行 SQL 前檢查 strWhere 非空,避免生成無效 SQL。

測試代碼目的

提供可運行的 MiniORM 使用範例,驗證修正後行為,協助開發者快速上手。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved