線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2541
推到 Plurk!
推到 Facebook!

活動式的查詢選單

答題得分者是:christie
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-09 15:06:43 IP:139.223.xxx.xxx 訂閱
各位大大:
小弟現在碰到一個問題,想詢問各位大大一下,是否有什麼想法或好主意。
小弟現在在製作一個查詢程式,
但是查詢的欄位可以讓client自己從所有欄位任一挑一個來輸入進行查詢,
而結果顯示的欄位也是由client挑選。

因此想請問各位大大,對於這問題各位大大有什麼想法或作法呢?
小弟是想詢問方向跟如何設計,沒有想偷懶完全詢問別人,所以煩請有設計過的大大或有任何創新主意的大大,都可提出您寶貴的想法。
天馬行空也可以,只要創新即ok,謝謝~~^^
編輯記錄
taishyang 重新編輯於 2008-09-09 15:36:36, 註解 無‧
lasterliu 重新編輯於 2008-09-09 17:32:36, 註解 無‧
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-09 15:38:19 IP:203.73.xxx.xxx 未訂閱
EX: 
查詢的欄位可以讓client自己從所有欄位任一挑一個來輸入進行查詢.
Order by 的欄位可以讓user 自己挑.
QryFrm_U.dfm
[code delphi]
object QryFrm: TQryFrm
Left = 3
Top = 110
Width = 870
Height = 640
Caption = 'QryFrm'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object GB2: TGroupBox
Left = 144
Top = 16
Width = 393
Height = 529
Caption = '訂購-進階查詢'
Color = clInfoBk
ParentColor = False
TabOrder = 0
Visible = False
object SpeedButton11: TSpeedButton
Left = 168
Top = 95
Width = 81
Height = 40
Caption = '清除(&L)'
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
04000000000000010000130B0000130B00001000000000000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0033333333B333
333B33FF33337F3333F73BB3777BB7777BB3377FFFF77FFFF77333B000000000
0B3333777777777777333330FFFFFFFF07333337F33333337F333330FFFFFFFF
07333337F33333337F333330FFFFFFFF07333337F33333337F333330FFFFFFFF
07333FF7F33333337FFFBBB0FFFFFFFF0BB37777F3333333777F3BB0FFFFFFFF
0BBB3777F3333FFF77773330FFFF000003333337F333777773333330FFFF0FF0
33333337F3337F37F3333330FFFF0F0B33333337F3337F77FF333330FFFF003B
B3333337FFFF77377FF333B000000333BB33337777777F3377FF3BB3333BB333
3BB33773333773333773B333333B3333333B7333333733333337}
NumGlyphs = 2
end
object Label47: TLabel
Left = 18
Top = 360
Width = 72
Height = 13
Caption = '設定排序欄位'
end
object SpeedButton13: TSpeedButton
Left = 187
Top = 397
Width = 23
Height = 22
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
04000000000080000000C40E0000C40E00001000000000000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00DDDDDDDDDDDD
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD0DDDDDDDDDDDDDDD00DDDD
DDDDDDDDDD000DDDDDDDDDDDDD0000DDDDDDDDDDDD00000DDDDDDDDDDD000000
DDDDDDDDDD00000DDDDDDDDDDD0000DDDDDDDDDDDD000DDDDDDDDDDDDD00DDDD
DDDDDDDDDD0DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}
end
object SpeedButton14: TSpeedButton
Left = 187
Top = 431
Width = 23
Height = 22
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
04000000000080000000C40E0000C40E00001000000000000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00DDDDDDDDDDDD
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD0DDDDDDDDDDDDDD00DD
DDDDDDDDDDD000DDDDDDDDDDDD0000DDDDDDDDDDD00000DDDDDDDDDD000000DD
DDDDDDDDD00000DDDDDDDDDDDD0000DDDDDDDDDDDDD000DDDDDDDDDDDDDD00DD
DDDDDDDDDDDDD0DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}
end
object SpeedButton12: TSpeedButton
Left = 260
Top = 95
Width = 113
Height = 40
Caption = '加入(&A)'
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
04000000000000010000120B0000120B00001000000000000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333033333
33333333373F33333333333330B03333333333337F7F33333333333330F03333
333333337F7FF3333333333330B00333333333337F773FF33333333330F0F003
333333337F7F773F3333333330B0B0B0333333337F7F7F7F3333333300F0F0F0
333333377F73737F33333330B0BFBFB03333337F7F33337F33333330F0FBFBF0
3333337F7333337F33333330BFBFBFB033333373F3333373333333330BFBFB03
33333337FFFFF7FF3333333300000000333333377777777F333333330EEEEEE0
33333337FFFFFF7FF3333333000000000333333777777777F33333330000000B
03333337777777F7F33333330000000003333337777777773333}
NumGlyphs = 2
end
object CB_1: TComboBox
Left = 16
Top = 56
Width = 145
Height = 21
ItemHeight = 13
TabOrder = 0
Text = 'C_04 訂購單編號'
Items.Strings = (
'C_01 請購單編號'
'C_02 請購單位代碼'
'C_03 請購單位名稱'
'C_04 訂購單編號'
'C_05 訂購日期'
'C_06 料號'
'C_07 名稱'
'C_08 規格'
'C_09 採購單位 unit'
'C_11 單價'
'C_10 數量'
'C_12 供應商代號'
'C_13 供應商名稱'
'C_14 供應商地址'
'C_15 供應商 TEL'
'C_16 供應商 FAX'
'C_17 已驗收註記_Y/_N'
'C_18 已交貨量(unit訂購單位)'
'C_19 預訂交貨日'
'C_20 User ID'
'C_21 設定Fax完成註記'
'C_22 From Msg'
'C_23 To Msg / CHK07 作收件號'
'C_24 品名包裝'
'C_25 交易條件'
'C_26 換算比率'
'C_27 總 價'
'C_28 聯採註記'
'C_29 付款天數'
'C_30 物流商號碼'
'C_31 發票商名'
'C_32 發票日'
'C_33 發票號碼')
end
object CB_opr: TComboBox
Left = 160
Top = 56
Width = 73
Height = 21
ItemHeight = 13
TabOrder = 1
Items.Strings = (

'='
'>'
'<'
'>='
'<='
'<>'
'LIKE')
end
object Edt_1: TEdit
Left = 232
Top = 56
Width = 153
Height = 21
CharCase = ecUpperCase
TabOrder = 2
end
object RG1: TRadioGroup
Left = 16
Top = 88
Width = 145
Height = 49
Caption = '條件關係'
Columns = 2
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Courier'
Font.Style = []
ItemIndex = 0
Items.Strings = (
'AND'
'OR')
ParentFont = False
TabOrder = 3
end
object Memo1: TMemo
Left = 16
Top = 151
Width = 359
Height = 194
Color = 13816474
TabOrder = 4
end
object ListBox1: TListBox
Left = 16
Top = 382
Width = 169
Height = 97
ItemHeight = 13
Items.Strings = (
'C_01 請購單編號'
'C_02 請購單位代碼'
'C_03 請購單位名稱'
'C_04 訂購單編號'
'C_05 訂購日期'
'C_06 料號'
'C_07 名稱'
'C_08 規格'
'C_09 採購單位 unit'
'C_11 單價'
'C_10 數量'
'C_12 供應商代號'
'C_13 供應商名稱'
'C_14 供應商地址'
'C_15 供應商 TEL'
'C_16 供應商 FAX'
'C_17 已驗收註記'
'C_18 已交貨量(unit訂購單位)'
'C_19 預訂交貨日'
'C_20 User ID'
'C_21 設定Fax完成註記'
'C_22 From Msg'
'C_23 To Msg / CHK07 作收件號'
'C_24 品名包裝'
'C_25 交易條件'
'C_26 換算比率'
'C_27 總 價'
'C_28 聯採註記'
'C_29 付款天數'
'C_30 物流商號碼'
'C_31 發票商名'
'C_32 發票日'
'C_33 發票號碼')
TabOrder = 5
end
object ListBox2: TListBox
Left = 216
Top = 382
Width = 161
Height = 97
ItemHeight = 13
TabOrder = 6
end
object BitBtn6: TBitBtn
Left = 56
Top = 486
Width = 97
Height = 33
Caption = '確定(&O)'
TabOrder = 7
Glyph.Data = {
36030000424D3603000000000000360000002800000010000000100000000100
18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF000000000000FF
00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
FF00FFFF00FF000000008000000000000000FF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00000000800000FF0000800000
0000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
00000000800000FF00FFFFFF00FF00008000000000000000FF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FF00000000800000FF00FFFFFF00FF00FFFFFF00
FF00008000000000000000FF00FFFF00FFFF00FFFF00FFFF00FF000000008000
00FF00FFFFFF00FF0000800000FF00FFFFFF00FF00008000000000000000FF00
FFFF00FFFF00FFFF00FF00000000FF00FFFFFF00FF0000800000000000000000
FF00FFFFFF00FF00008000000000000000FF00FFFF00FFFF00FF00000000FF00
00FF00008000000000FF00FFFF00FF00000000FF00FFFFFF00FF000080000000
00000000FF00FFFF00FFFF00FF000000000000000000FF00FFFF00FFFF00FFFF
00FF00000000FF00FFFFFF00FF00008000000000000000FF00FFFF00FFFF00FF
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00000000FF00FFFFFF00FF
00008000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
00FFFF00FFFF00FF00000000FF00FFFFFF00FF00008000000000FF00FFFF00FF
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00000000FF
00FFFFFF00FF00000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
00FFFF00FFFF00FFFF00FFFF00FF000000000000000000FF00FFFF00FFFF00FF
FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
end
object BitBtn7: TBitBtn
Left = 224
Top = 486
Width = 97
Height = 33
Caption = '取消(&C)'
TabOrder = 8
Glyph.Data = {
36030000424D3603000000000000360000002800000010000000100000000100
18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0000
00000000FF00FFFF00FFFF00FF000000000080000000000000FF00FFFF00FFFF
00FFFF00FFFF00FFFF00FF000000000080000000000000FF00FF0000000000FF
0000FF000080000000000000FF00FFFF00FFFF00FFFF00FF0000000000800000
FF0000FF0000000000000000000000FFFFFFFF0000FF000080000000000000FF
00FFFF00FF0000000000800000FFFFFFFF0000FF000080000000FF00FF000000
0000FFFFFFFF0000FF0000800000000000000000000000800000FFFFFFFF0000
FF000080000000FF00FFFF00FFFF00FF0000000000FFFFFFFF0000FF00008000
00000000800000FFFFFFFF0000FF000080000000FF00FFFF00FFFF00FFFF00FF
FF00FF0000000000FFFFFFFF0000FF0000800000FFFFFFFF0000FF0000800000
00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0000000000FFFFFFFF00
00FFFFFFFF0000FF000080000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
FF00FFFF00FF0000000000800000FFFFFFFF0000FF000080000000000000FF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0000000000800000FFFFFFFF00
00FFFFFFFF0000FF000080000000000000FF00FFFF00FFFF00FFFF00FFFF00FF
0000000000800000FFFFFFFF0000FF0000800000FFFFFFFF0000FF0000800000
00000000FF00FFFF00FFFF00FF0000000000800000FFFFFFFF0000FF00008000
00000000000000FFFFFFFF0000FF000080000000000000FF00FF000000000080
0000FFFFFFFF0000FF000080000000FF00FFFF00FF0000000000FFFFFFFF0000
FF0000800000000000000000000000FFFFFFFF0000FF000080000000FF00FFFF
00FFFF00FFFF00FF0000000000FFFFFFFF0000FF000080000000FF00FF000000
0000FF000080000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0000000000
FF0000FF000000FF00FFFF00FFFF00FF000000000000FF00FFFF00FFFF00FFFF
00FFFF00FFFF00FFFF00FFFF00FF000000000000FF00FFFF00FF}
end
end
end
[/code]


QryFrm_U.pas

[code delphi]
unit QryFrm_U;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TQryFrm = class(TForm)
GB2: TGroupBox;
SpeedButton11: TSpeedButton;
Label47: TLabel;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton12: TSpeedButton;
CB_1: TComboBox;
CB_opr: TComboBox;
Edt_1: TEdit;
RG1: TRadioGroup;
Memo1: TMemo;
ListBox1: TListBox;
ListBox2: TListBox;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
QryFrm: TQryFrm;
implementation
{$R *.dfm}
end.
[/code]

===================引 用 lasterliu 文 章===================
各位大大:
小弟現在碰到一個問題,想詢問各位大大一下,是否有什麼想法或好主意。
小弟現在在製作一個查詢程式,
但是查詢的欄位可以讓client自己從所有欄位任一挑一個來輸入進行查詢,
而結果顯示的欄位也是由client挑選。

因此想請問各位大大,對於這問題各位大大有什麼想法或作法呢?
小弟是想詢問方向跟如何設計,沒有想偷懶完全詢問別人,所以煩請有設計過的大大或有任何創新主意的大大,都可提出您寶貴的想法。
天馬行空也可以,只要創新即ok,謝謝~~^^
------
What do we live for if not to make life less difficult for each other?
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-09 17:19:12 IP:139.223.xxx.xxx 訂閱
版主,不好意思,我不知道該怎麼去改標題,下次我會想個有意義的標題地。

christie大大,謝謝您的回答。

小弟再請問您,就是若像大大這樣設計,但我須要有一個欄位輸入值,那麼我須要針對我選到不同欄位,而給予不同的格式嗎?
如: 元件 例子
ComboBox1 ---> 選擇欄位 訂單日期
ComboBox2 ---> 選擇符號 =
Edit OR MaskEdit?? ---> 輸入查詢值 是全空白還是____/__/__有此格式給其輸入
若是需針對不同欄位給予不同格式可能就會有點麻煩。

因為BOSS最終目的是希望小弟能做出一個盡量以最少修改(盡量只需改對應不同資料表,給予不同欄位即可),
即可變成別的查詢程式。

小弟若有回答錯的地方或天真的地方,煩請大大指教~~謝謝。
編輯記錄
lasterliu 重新編輯於 2008-09-17 21:03:19, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-09 17:23:39 IP:118.169.xxx.xxx 訂閱
您可以看到有個[修改]的按鈕,按下後就可以看到欄位 ^_^
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-09-17 21:05:24 IP:123.192.xxx.xxx 訂閱
請問各位大大,小弟以下的問題有人可以解答嗎?

小弟再請問您,就是若像大大這樣設計,但我須要有一個欄位輸入值,那麼我須要針對我選到不同欄位,而給予不同的格式嗎?
如: 元件 例子
ComboBox1 ---> 選擇欄位 訂單日期
ComboBox2 ---> 選擇符號 =
Edit OR MaskEdit?? ---> 輸入查詢值 是全空白還是____/__/__有此格式給其輸入

若是需針對不同欄位給予不同格式可能就會有點麻煩。

請問各位大大,針對此問題,有好的提議或建議嗎?
謝謝各位~~
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-09-18 06:09:05 IP:220.141.xxx.xxx 訂閱
你們公司太理想化了,想要畢其功於一役,只是好玩而已,但深入一點想,根本是不太可能的任務。
之前,有人是用動態產生Sql的方式,於是畫面象工程師設計程式的畫面一樣,但一點也不Friendly
想像一下,美國各軍種的戰鬥機還分F-是驅逐機、A-是攻擊機、C-是運輸機...他們也想發展一種通用的東東
因此答案在上面,還是得照企業邏輯來分析您的專案,然後區分成幾個大項目,再發展通用查尋器。
若要天馬行空,個人的想法是:
先發展一個萬用型的表單產生器(EXE,DLL皆可),以後使用者有新需求時可以設計存成參數檔或Template(INI,txt皆可)(如果您有用過FastReport,QrstalReport可以存成FR3之類的參數檔),總而言之,就是做一個可變動的查詢引擎加一個設計查詢畫面的程式。
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-09-18 06:11:25, 註解 無‧
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-09-18 08:04:38 IP:139.223.xxx.xxx 訂閱
那小弟只好先就不同的欄位一個一個給於他們不同形式的輸入格了~~~謝謝大家的回答。
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-09-18 11:02:04 IP:203.73.xxx.xxx 未訂閱
之前的程式碼
請參考
{ 97.9.18 產生動態查詢句 ********************************************** }
procedure TFINV200.BitBtn6Click(Sender: TObject);//[確定鍵]
var
s:string;
j :word;
begin

if memo1.Lines.Count=0 then
begin
MessageBox(handle,'Sorry, 請輸入查詢條件!',pchar(caption),MB_Iconwarning);
CB_1.SetFocus;
Abort
end;
GB2.Visible:=False;
QTab.CLOSE;
QTab.SQL.Text:='select * from CHK' glo_f ' where';
QTab.SQL.AddStrings(Memo1.Lines);
gl_SQLstr:=QTab.SQL.Text;//97.3.5

//這一段是order by 的處理
s:='';
if ListBox2.Items.Count>0 then
begin
for j:=0 to ListBox2.Items.Count-1 do
begin
s:=s copy(ListBox2.Items[j],1,4);
if ansiContainsText(ListBox2.Items[j],'desc') then
s:=s ' desc';
s:=s ',';
end;
s:=ansireplacestr( s, #13#10,' ');
j:=length(s);
s:=copy(s,1, j -1);
end;
// 97.2.26
if Length(s)>=4 then
begin
Qtab.SQL.Add('order by');
Qtab.SQL.Add( s );
end;
QTab.Open;
DBGrid2.Visible:=True;

if Qtab.IsEmpty then
begin
MessageBox(handle,'範圍內無資料!',PChar(caption),MB_Iconwarning);
Abort
end;
Label97.Caption:=int2str(QTab.RecordCount) '筆';
if QTab.RecordCount = 1 then
begin
GB1.Visible:=False;
gb_flag:=' '
end
end;
procedure TFINV200.BitBtn7Click(Sender: TObject);//[取消鍵]cancel
begin
GB2.Visible:=False;
end;
procedure TFINV200.SpeedButton13Click(Sender: TObject); //[ > ]order by selection
begin
if ListBox1.Itemindex<0 then
MessageDlg('請 挑 選 排 序 欄 位!',mtinformation,[mbOk],0)
else
ListBox2.Items.Add(ListBox1.Items[ListBox1.Itemindex])
end;
procedure TFINV200.SpeedButton14Click(Sender: TObject); //[ < ]
begin
ListBox2.Items.Delete(Listbox2.ItemIndex);
end;
procedure TFINV200.SpeedButton11Click(Sender: TObject);//Clear MEmo1
begin
Memo1.Lines.Clear
end;
procedure TFINV200.ListBox2DblClick(Sender: TObject);//遞增 改 遞減(單向)97.2.26
begin
if not ansicontainstext(Listbox2.Items[listbox2.ItemIndex],'desc') then
listbox2.Items[listbox2.ItemIndex]:=listbox2.Items[listbox2.ItemIndex] 'desc'
end;
procedure TFINV200.Save2Click(Sender: TObject); //可以將查詢條件存檔
begin
if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.Filename) // 97.2.26
end;
procedure TFINV200.LoadfromClick(Sender: TObject); //叫出 查詢條件
begin
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.Filename) // 97.2.26
end;
procedure TFINV200.SpeedButton12Click(Sender: TObject);//[加入鍵] Add
var
str:string;
c_no:string;
s:string;
OP:string;
op_r_str:string;
wcstr:string;// %
opr:string; // > < like
m_str:string;//sql 備註字串
begin
if Memo1.Lines.Count=0 then
op:=''
else
if RG1.ItemIndex=0 then
op:=' AND '
else
if RG1.ItemIndex=1 then
op:=' OR ';
c_no:=copy(cb_1.Text,1,4);
m_str:=copy(cb_1.Text,6,Length(cb_1.Text)-5);
//97.2.25
if cb_opr.Text='LIKE' then
begin
op_r_str:=Edt_1.text '%'; //wcstr
opr:=' LIKE ';
end
else
begin
op_r_str:=edt_1.text;
opr:= cb_opr.Text;
end;
s:=namx.Values[c_no]; // 以 Field_Name 取出 該欄位的型態(Number, Varchar2...)
if s[1]='N' then // NUMBER
str:=op '(' c_no opr op_r_str ')'
else
str:=op '(' c_no opr QuotedStr(op_r_str) ')';
Memo1.Lines.Add(str format(' /* %s */',[m_str]))
end;
------
What do we live for if not to make life less difficult for each other?
系統時間:2024-04-19 10:39:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!