| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		MyFox
 
 
  註冊時間: 2008-03-04 文章: 13
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 四月 18, 2008 9:49 pm    文章主題: 轉SQL 2000 ,字串有問題 >.<" | 
				     | 
			 
			
				
  | 
			 
			
				小弟將 SQL Server 2000 的資料表
 
轉成 FoxPro 的DBF
 
 
C_SQL = "SELECT * FROM abc"
 
=SQLEXEC(L_lLnk, C_SQL, "Cabc")
 
 
USE Mydbf EXCL IN 0
 
SELECT Mydbf
 
ZAP
 
 
C_MyData = Cabc.a欄位
 
 
SELECT Cabc
 
SCAN
 
APPEND BLANK
 
REPLACE b欄位 WITH C_MyData
 
-----------------------------------------------------------------
 
將Cabc,Browse出來的時候,很清楚看到要轉換的A欄位,
 
 
裡面的字串都有成功一字部漏轉換過來。(a欄位有128個英文字)
 
 
問題來了!!!
 
但是將字串Appemd欄位後,發現怎麼才存30個字元>.<"
 
 
我的b欄位有128個字元,小弟我有測過直接用一串"1~~~128",
 
 
存到那個欄位,也沒問題能存128個字元。
 
-----------------------------------------------------------------
 
但為什麼我始終只存到30個字元?
 
 
難道變數只能儲存30個字元嗎>.<?
 
但小弟測試過直接 WITH Cabc.a欄位還是一樣,只有30個位元 >.<
 
 
小弟用的版本
 
Microsoft Visual FoxPro 6.0
  MyFox 在 星期五 四月 18, 2008 9:57 pm 作了第 2 次修改 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		MyFox
 
 
  註冊時間: 2008-03-04 文章: 13
 
  第 2 樓
  | 
		
			
				 發表於: 星期五 四月 18, 2008 9:53 pm    文章主題: Re: 轉SQL 2000 ,字串有問題 >.<" | 
				     | 
			 
			
				
  | 
			 
			
				| .編輯錯誤._. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 四月 18, 2008 10:51 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				不說還不知道你已經改了兩次, 還真的是"一字部漏轉換過來...".
 
看起來問題出在 C_MyData = Cabc.a欄位
 
依所看到的程式, 你會將所有的cabc.b欄位的內容改成 第一筆資料裡的a欄位.
 
去查看看第一筆資料裡的a欄位內容是否有問題. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		MyFox
 
 
  註冊時間: 2008-03-04 文章: 13
 
  第 4 樓
  | 
		
			
				 發表於: 星期六 四月 19, 2008 1:15 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | garfield 寫到: | 	 		  不說還不知道你已經改了兩次, 還真的是"一字部漏轉換過來...".
 
看起來問題出在 C_MyData = Cabc.a欄位
 
依所看到的程式, 你會將所有的cabc.b欄位的內容改成 第一筆資料裡的a欄位.
 
去查看看第一筆資料裡的a欄位內容是否有問題. | 	  
 
 
 
對不起~小弟眼瞎,今天BROWSE起來在看一次,
 
原來轉出來的時候就只有30字元>"<
 
 
因為SQL SERVER 2000 ,那個欄位型態是nVARCHAR,FOXPRO好像看不懂._.
 
 
可是我有在SELECT的時候已經順便宣告了!
 
 
CAST(別名.欄位 AS VARCHAR) AS C_欄位
 
 
但是還是只抓的到前面30個字元><"..... 
 
 
我測試的感覺好像是VARCHAR型態只能存30字元?
 
 
.... 有解決方法嗎? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		nelsonchuang
 
 
  註冊時間: 2003-09-04 文章: 564 來自: 臺灣
  第 5 樓
  | 
		
			
				 發表於: 星期六 四月 19, 2008 3:23 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				程式本身就有問題... _________________ 大家好,請多指教 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		MyFox
 
 
  註冊時間: 2008-03-04 文章: 13
 
  第 6 樓
  | 
		
			
				 發表於: 星期六 四月 19, 2008 11:31 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | nelsonchuang 寫到: | 	 		  | 程式本身就有問題... | 	  
 
 
我不懂程式本身有問題,是哪邊有錯嗎>.<?
 
-----------------------------------------------------------------------------
 
SQL SERVER 2000 ,要轉的那個欄位型態是nVARCHAR,FOXPRO好像看不懂._.
 
 
其他欄位有nVARCHAR 型態,如欄位只有  "10"  碼,
 
不宣告成VARCHAR 型態,轉出來都會變成 "  9"  碼。
 
 
所以小弟才將他轉換成VARCHAR 型態了。
 
 
可是又發現新問題,為什麼只會抓到前30碼。
 
 
小弟就是不知道問題點才來求助。
 
 
想請問到底是哪邊的問題ˊ.ˋ,可以給個提示嗎? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		nelsonchuang
 
 
  註冊時間: 2003-09-04 文章: 564 來自: 臺灣
  第 7 樓
  | 
		
			
				 發表於: 星期日 四月 20, 2008 1:57 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				你試著逐行追蹤除錯,就知道問題在哪了~ _________________ 大家好,請多指教 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		MyFox
 
 
  註冊時間: 2008-03-04 文章: 13
 
  第 8 樓
  | 
		
			
				 發表於: 星期一 四月 21, 2008 8:14 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | nelsonchuang 寫到: | 	 		  | 你試著逐行追蹤除錯,就知道問題在哪了~ | 	  
 
 
 
C_SQL = "SELECT CAST(欄位 AS VARCHAR) AS C_欄位 FROM abc"
 
=SQLEXEC(L_lLnk, C_SQL, "Cabc") 
 
 
SELECT Cabc 
 
BROWSE
 
 
語法沒錯啊=.=?
 
 
問題就在這邊啊,我browse出來 那個欄位不知道為什麼就只有抓到30碼 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		nelsonchuang
 
 
  註冊時間: 2003-09-04 文章: 564 來自: 臺灣
  第 9 樓
  | 
		
			
				 發表於: 星期一 四月 21, 2008 8:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				Select ISNULL(欄位,CONVERT(VARCHAR(128),'') ) AS C_欄位
 
先去查一下你的 Set memo 的寬度是多少? _________________ 大家好,請多指教 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 10 樓
  | 
		
			
				 發表於: 星期一 四月 21, 2008 8:57 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				請盡量使用 char 型態.
 
 
vfp 9 才開始支援 非unicode 的 varChar 型態 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |