67 lines
1.7 KiB
C#
67 lines
1.7 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
using System.Text;
|
|
using WebLib;
|
|
|
|
public partial class utility_GetPickUp : FormBase
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
DbCommand cmd = DAC.NewCommand();
|
|
DbDataAdapter da = DAC.NewDataAdapter();
|
|
cmd.Connection = conn;
|
|
da.SelectCommand = cmd;
|
|
|
|
// 從 Request 中取出參數
|
|
string lookupConfigName = Request["NAME"];
|
|
string whereKey = Request["WHERE_KEY"];
|
|
string langId = Request["LANGID"];
|
|
string addWhere = Request["ADD_WHERE"];
|
|
|
|
// 從設定檔中取得SQL
|
|
LookupList pickup = LookupList.GetInstance();
|
|
pickup.LookupConfigName = lookupConfigName;
|
|
string sql = pickup.GetLookupSQL();
|
|
string[] keyFields = pickup.GetKeyFields();
|
|
|
|
// 將傳入的KEY代入SQL
|
|
foreach (string keyField in keyFields)
|
|
{
|
|
if (addWhere.Length == 0)
|
|
cmd.CommandText = String.Format(sql, keyField, "");
|
|
else
|
|
cmd.CommandText = String.Format(sql, keyField, " AND " + addWhere);
|
|
cmd.Parameters.Clear();
|
|
cmd.Parameters.Add(DAC.NewParameter("VALUE", whereKey + "%"));
|
|
|
|
// 取回資料
|
|
DataTable table = new DataTable();
|
|
conn.Open();
|
|
da.Fill(table);
|
|
conn.Close();
|
|
|
|
// 若無資料,則找尋下一個 KEY
|
|
if (table.Rows.Count == 0)
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
// 輸出儲存下拉資料物件的 JSON 表示法字串
|
|
Response.Write(pickup.GetLookupJSON(table, langId));
|
|
Response.End();
|
|
return;
|
|
}
|
|
}
|
|
Response.End();
|
|
}
|
|
|
|
protected override bool IsSetMasterPage()
|
|
{
|
|
return false;
|
|
}
|
|
}
|