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

組合查詢與字串拼接實作(VB.NET)

     編輯:關於ASP.NET

針對固定資料表、多重不定查詢條件(AND/OR 組合)的動態 SQL 建構需求,說明 UI 層、BLL 層、DAL 層三層架構下的字串拼接實作。

UI 層:收集查詢條件

Dim student As New Login.Model.CmbQueryInfo
' 將三組下拉選單(欄位、運算子、內容)與組合關係(與/或)賦值給實體
student.FileName1 = cmbWord1.Text
student.Operator1 = cmbOperator1.Text
student.QueryContent1 = txtContent1.Text
student.CompositionRelation1 = cmbRelation1.Text
' ... 同理處理第 2、3 組條件
Dim table As DataTable = Bquery.cmbQuery(student, "T_Worklog_Info")

BLL 層:字串拼接核心

ModifyFields 將中文欄位名對應資料庫欄位(如「卡號」→ cardno),將「與/或」轉為 and/or。

主查詢方法 cmbQuery 依條件組合 WHERE 子句:

Dim sql As String = "SELECT * FROM " & tableName & " WHERE 1=1 "
If student.FileName1 <> "" Then
    sql &= student.CompositionRelation1 & " " & student.FileName1 & " " & student.Operator1 & " '" & student.QueryContent1 & "' "
    ' 依此類推處理第 2、3 條件
End If
' 執行 SQL 回傳 DataTable

此模式適用於固定資料表、多條件動態查詢情境,雖屬傳統字串拼接方式,但結構清晰,易於理解與擴充。現代開發建議改用參數化查詢或 ORM 以防 SQL 注入。

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