作者uranusjr (←這人是超級笨蛋)
看板C_Sharp
標題Re: [問題] 詢問這組SQL為什麼要分SELECT和WHERE兩段
時間Thu Jul 18 23:14:50 2013
※ 引述《bernachom (Terry)》之銘言:
: 不好意思,請教一下
: 最近都在看很難看的SQL語法....有些搞的不是很清楚
: 有個例子是,他分成兩段寫,一段是SELECT,一段是WHERE,
: 不太懂的是為什麼要這樣子做呢??
: ASq1.AppendFormat("SELECT AAA_003 FROM {0}..AAA_003_W ", mCompany);
: ASq1.AppendFormat("WHERE AAA_002='{0}'", SHEETNO);
: TQB1 = dbCommand.Query(ASq1.ToString());
: 問題1:
: 就是...跟我在書上常常看到的不太一樣,不能像書上一樣這樣子寫嗎?
: 例如 : string strSQL = @" Select * From TEST Where isActive=1 Order by s1";
當然可以
我覺得原作者可能只是單純覺得寫在一起會太長而已
從上面看起來 ASql 應該是 StringBuilder, 不是單純的 String
所以比較不會有效能的問題
或許還有其他的原因, 這要看上下文才知道, 你給的資訊不夠
: 問題2: ASq1.AppendFormat("SELECT AAA_003 FROM {0}..AAA_003_W ", mCompany);
: ^^^^
: 上面那個{0}右邊有兩個小點,是代表什麼意思呢??
SQL 的 double dot notation
用法自己去查吧
: 謝謝幫忙了
--
「我最想要的同伴嘛,首先是要笑口常開,其次是我們能永遠不會發生誤會。
如果這些都能辦到的話,嗯,如果他是世界上第一流的橋手,也還不錯。」
-- 班尼多‧加羅素,前義大利藍隊成員
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146
推 bernachom:對,那個是StringBuilder,所以這個效能比較好@@? 07/18 23:24
→ bernachom:那個double dot notation是系統管理員的意思嗎? 07/18 23:32
→ bernachom:中文查不怎麼到,看英文的意思好像是這樣.. 07/18 23:33
推 TeemingVoid:連續字串串接時,利用StringBuilder比「+」運算元快。 07/19 00:03
→ TeemingVoid:至於「..」,請看另一篇回文。 07/19 00:03
噓 rushaun:純噓四樓要看資料是動態還是靜態~黑暗執行緒有篇文章 07/22 23:06