| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		whh
 
 
  註冊時間: 2010-04-16 文章: 166
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 四月 08, 2011 3:33 pm    文章主題: 一個INTO CURSOR的問題 一直有個疑惑@@ | 
				     | 
			 
			
				
  | 
			 
			
				SELECT aa ;
 
   FROM TEST ;
 
WHERE aa= '123' ;
 
   INTO CURSOR TMP_TEST
 
 
 
SELECT TMP_TEST
 
 
&& 一直有個疑惑就是 如果這邊不加一行 GO TOP,只有下面一行的話他會抓到原本 TEST的aa值,可是明明不是已經告知切換到 TMP_TEST 了嗎??
 
 
? aa
 
 
是vfp本身的bug還是什麼? @@~ | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 2 樓
  | 
		
			
				 發表於: 星期五 四月 08, 2011 5:55 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				如果是 
 
? TMP_TEST.aa 呢 ? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 四月 08, 2011 6:55 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				
 
除非沒有任何一筆資料符合你所設定的條件,
 
否則
 
? aa
 
永遠會出現 '123' _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期五 四月 08, 2011 9:17 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我比較想知道那個SELECT 命令是不是真的可以執行 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		區榮熾
 
 
  註冊時間: 2005-11-14 文章: 191
 
  第 5 樓
  | 
		
			
				 發表於: 星期六 四月 09, 2011 7:37 am    文章主題: Re: 一個INTO CURSOR的問題 一直有個疑惑@@ | 
				     | 
			 
			
				
  | 
			 
			
				 	  | whh 寫到: | 	 		  SELECT aa ;
 
   FROM TEST ;
 
WHERE aa= '123' ;
 
   INTO CURSOR TMP_TEST
 
 
 
SELECT TMP_TEST
 
 
&& 一直有個疑惑就是 如果這邊不加一行 GO TOP,只有下面一行的話他會抓到原本 TEST的aa值,可是明明不是已經告知切換到 TMP_TEST 了嗎??
 
 
? aa
 
 
是vfp本身的bug還是什麼? @@~ | 	  
 
 
你的疑惑是在不知道 INTO Cursor 之後的檔名, 就是在你未使用 Select (任何其他檣名)前, 你 ? aa, 就是 TMP_TEST 的 aa.....而不是 TEST 的 aa....
 
 
試看看... 你可以選用其他欄名( aa 改為 bb), ? bb 就沒有疑惑了...... 
 
三樓版主所寫的,請多加細嚼,定會嚐到甜頭,好好把握.... | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		LiuRambo
 
 
  註冊時間: 2007-11-27 文章: 481
 
  第 6 樓
  | 
		
			
				 發表於: 星期六 四月 09, 2011 11:29 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				欄位名稱相同才會造成自己或是VFP的誤判
 
如果真的很懶得打二樓的方法
 
不然就用
 
with TMP_TEST
 
? .aa
 
endwith
 
這樣既不會誤判 又可以偷懶 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 7 樓
  | 
		
			
				 發表於: 星期一 四月 11, 2011 4:52 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | syntech 寫到: | 	 		  | 我比較想知道那個SELECT 命令是不是真的可以執行 | 	  
 
 
 
自己實驗的結果,
 
原來 vfp6還真的支援這種亂七八糟的寫法.
 
 
不是應該都寫成
 
 	  | 代碼: | 	 		  
 
SELECT aa ; 
 
INTO CURSOR TMP_TEST ;
 
FROM TEST ; 
 
WHERE aa= '123' 
 
 | 	 
  _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		LiuRambo
 
 
  註冊時間: 2007-11-27 文章: 481
 
  第 8 樓
  | 
		
			
				 發表於: 星期一 四月 11, 2011 8:58 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				回syntech
 
小的我一直以來都是如同樓主一樣下法
 
select xx from zz where.....  into cursor yyy | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 9 樓
  | 
		
			
				 發表於: 星期二 四月 12, 2011 9:01 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				下面這段是由 VFP 9.0 Sp2 的 Help 中節錄下來的
 
 	  | 代碼: | 	 		  
 
CLOSE ALL
 
CLOSE DATABASES
 
OPEN DATABASE (HOME(2) + 'Data\TestData')
 
SELECT TAlias1.company, TAlias2.order_date, TAlias2.shipped_on ;
 
   FROM customer TAlias1, orders TAlias2 ;
 
   WHERE TAlias1.cust_id = TAlias2.cust_id ;
 
   INTO TABLE custship.dbf
 
BROWSE
 
 | 	  
 
 
至於完整的用法
 
 	  | 代碼: | 	 		  
 
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] Select_List_Item [, ...]
 
   FROM [FORCE] Table_List_Item [, ...]
 
      [[JoinType] JOIN DatabaseName!]Table [[AS] Local_Alias]
 
      [ON JoinCondition [AND | OR [JoinCondition | FilterCondition] ...] 
 
   [WITH (BUFFERING = lExpr)]
 
   [WHERE JoinCondition | FilterCondition [AND | OR JoinCondition | FilterCondition] ...]
 
   [GROUP BY Column_List_Item [, ...]] [HAVING FilterCondition [AND | OR ...]]
 
   [UNION [ALL] SELECTCommand]
 
   [ORDER BY Order_Item [ASC | DESC] [, ...]]
 
   [INTO StorageDestination | TO DisplayDestination]
 
   [PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]
 
 | 	  
 
 
它的 into 也是在尾巴耶~ | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		elleryq
 
  
  註冊時間: 2007-06-21 文章: 768
 
  第 10 樓
  | 
		
			
				 發表於: 星期二 四月 12, 2011 9:14 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 雖然好久沒寫了,可是以前我也是把into cursor放到最後,原因是覺得這樣比較順... | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 11 樓
  | 
		
			
				 發表於: 星期二 四月 12, 2011 9:56 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我都走正港 MS SQL  路線:
 
 
SELECT select_list 
 
[ INTO new_table ] 
 
FROM table_source 
 
[ WHERE search_condition ] 
 
[ GROUP BY group_by_expression ] 
 
[ HAVING search_condition ] 
 
[ ORDER BY order_expression [ ASC | DESC ] ] _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 12 樓
  | 
		
			
				 發表於: 星期二 四月 12, 2011 10:10 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				Access 也是和 Ms Sql 一致
 
看來 , 只有 VFP 特立獨行
 
難怪會被放生 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |