  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 31 樓
  | 
		
			
				 發表於: 星期四 八月 20, 2009 6:41 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這是我的TABLE SCHEMA。用你的程式沒有問題呀...我上回有提過會不會是你的ODBC DRIVER 錯了.你有查過了嗎?
 
 	  | 代碼: | 	 		  
 
USE [APPLY]
 
GO
 
/****** 物件:  Table [dbo].[emp_test]    指令碼日期: 08/20/2009 18:39:44 ******/
 
SET ANSI_NULLS ON
 
GO
 
SET QUOTED_IDENTIFIER ON
 
GO
 
CREATE TABLE [dbo].[emp_test](
 
   [test_no] [int] NOT NULL,
 
   [test_text] [text] COLLATE Chinese_Taiwan_Stroke_CI_AS NULL
 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 
 
 | 	 
  | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 32 樓
  | 
		
			
				 發表於: 星期五 八月 21, 2009 6:06 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | saint 寫到: | 	 		  這是我的TABLE SCHEMA。用你的程式沒有問題呀...我上回有提過會不會是你的ODBC DRIVER 錯了.你有查過了嗎?
 
 	  | 代碼: | 	 		  
 
USE [APPLY]
 
GO
 
/****** 物件:  Table [dbo].[emp_test]    指令碼日期: 08/20/2009 18:39:44 ******/
 
SET ANSI_NULLS ON
 
GO
 
SET QUOTED_IDENTIFIER ON
 
GO
 
CREATE TABLE [dbo].[emp_test](
 
   [test_no] [int] NOT NULL,
 
   [test_text] [text] COLLATE Chinese_Taiwan_Stroke_CI_AS NULL
 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 
 
 | 	 
  | 	  
 
 
抱歉! 今天工作比較忙,晚了些回覆,
 
以下是我的table schema
 
 
==================================
 
 
USE [Employ]
 
GO
 
/****** 物件:  Table [dbo].[emp_test]    指令碼日期: 08/21/2009 17:52:02 ******/
 
SET ANSI_NULLS ON
 
GO
 
SET QUOTED_IDENTIFIER ON
 
GO
 
SET ANSI_PADDING ON
 
GO
 
CREATE TABLE [dbo].[emp_test](
 
	[test_no] [char](1) NOT NULL CONSTRAINT [DF_emp_test_test_no]  DEFAULT (''),
 
	[test_text] [text] NOT NULL CONSTRAINT [DF_emp_test_test_text]  DEFAULT ('')
 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 
 
GO
 
SET ANSI_PADDING OFF
 
 
================================== | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 33 樓
  | 
		
			
				 發表於: 星期一 八月 24, 2009 11:38 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				catfish
 
這差在那..看來是一樣的呀.. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 34 樓
  | 
		
			
				 發表於: 星期一 八月 24, 2009 2:56 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | saint 寫到: | 	 		  catfish
 
這差在那..看來是一樣的呀.. | 	  
 
 
所以我才會說找不出問題在哪裡呀~~      
 
我在想會不會是這個設定的問題: Chinese_Taiwan_Stroke_CI_AS 
 
當初同仁在安裝SQL Server時有稍微討論了一下,
 
但時間很久了,有一點不太記得,只記得好像跟語系有一點關係....
 
 
另外,我想也不會是ODBC driver有錯,
 
因為同樣的程式在VFP6中跑起來完全不會有當機情形,
 
我是直接拿VFP9的程式,放在VFP6環境中跑,
 
沒再改任何程式了!
 
 
還是很謝謝你!     | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 35 樓
  | 
		
			
				 發表於: 星期三 八月 26, 2009 3:53 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 可惜你在台中..不然就可以找時間去你那看看..^^ | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 36 樓
  | 
		
			
				 發表於: 星期三 八月 26, 2009 4:01 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | saint 寫到: | 	 		  | 可惜你在台中..不然就可以找時間去你那看看..^^ | 	  
 
請教一下,你是在台北嗎?
 
另外,VFP9用的ODBC driver有什麼特殊版本的限制嗎? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 37 樓
  | 
		
			
				 發表於: 星期三 八月 26, 2009 4:54 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				ODBC DRIVER 只出到 VFP 6 ,
 
OLE DB DRIVER 才是出到 VFP 9
 
 
 
===
 
要糾團去搞嗎?   XD _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 38 樓
  | 
		
			
				 發表於: 星期三 八月 26, 2009 5:33 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | saint 寫到: | 	 		  | 可惜你在台中..不然就可以找時間去你那看看..^^ | 	  
 
 
請問Saint兄,你寫入Editbox欄位中的中文字有超過2060個中文字嗎?因為我到SQL Server中查看欄位內容寫入狀況,大多被截斷在第2060個字左右,後面的中文字就沒再寫進來了!
 
我如果在SQL Server中將欄位值剩下的2060個中文字刪掉2個中文字,之後再從VFP9的Form中開啟,就不會當了!
 
我目前想到的解決方法就是檢查使用者輸入的字數,然後提出警告,但這實在不是很妥當的方法.... | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 39 樓
  | 
		
			
				 發表於: 星期五 八月 28, 2009 4:51 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				[quote="catfish"] 	  | saint 寫到: | 	 		  | 可惜你在台中..不然就可以找時間去你那看看..^^ | 	  
 
 
今天找了台電腦安裝VFP8,更新到sp1,
 
用相同的文字檔進行測試,並沒有發生當機的情形,
 
我想應該是VFP9的bug吧!
 
VFP9在經過sp2後,還有其他小部分的更新要做嗎? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 40 樓
  | 
		
			
				 發表於: 星期五 九月 11, 2009 4:10 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我試著將LEN()>40000的內容分割成兩個欄位回存,在擷取時再合併於同一editbox上,結果還是會當!
 
但如果是以editbox顯示str1(1~4000個字元),就可以正常show出來,
 
而用editbox顯示str2(4001以後的字元)時反而當掉了,僅管str2只有二十幾個字元....
 
 
另外,如果是以RichText取代editbox,在顯示資料上就不會當掉,
 
但RichText可設定的屬性及方法實在太少,也不合用~~ | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		fschern
 
 
  註冊時間: 2003-10-12 文章: 34
 
  第 41 樓
  | 
		
			
				 發表於: 星期日 九月 13, 2009 1:39 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				一、依照您的問題描述,我個人猜測原因如下:
 
您的VFP程式將中文資料存入SQL時,因為文字總數超過欄位長度限制(或是其他原因)而被截斷,而截斷的位置剛好是某個中文字的一半,所以存入SQL的資料之最後一個字變成了一個特殊字元。
 
當將該被截斷的資料下載至VFP時若是存在MEMO欄位中,則在VFP6時開啟該MEMO欄不會有問題,但VFP9則會產生當機的現象。
 
 
若被截掉的位置剛好不會產生特殊字元時,則就不會產生當機現象。
 
 
二、您既然是使用SQL2005,建議您將欄位型態"TEXT"者改為"VARCHAR(MAX)",程式會比較好寫,問題也比較少。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 42 樓
  | 
		
			
				 發表於: 星期二 九月 15, 2009 5:02 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | catfish 寫到: | 	 		   	  | saint 寫到: | 	 		  | 可惜你在台中..不然就可以找時間去你那看看..^^ | 	  
 
請教一下,你是在台北嗎?
 
另外,VFP9用的ODBC driver有什麼特殊版本的限制嗎? | 	  
 
 
我是住台北 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 43 樓
  | 
		
			
				 發表於: 星期二 九月 15, 2009 5:04 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				SP1
 
查了一下google 也有人遇到相同的問題,但是文中說是在 VFP9 SP1 就解決了,可是你升到SP2,難不成SP2又把它蓋過去了...= =" | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 44 樓
  | 
		
			
				 發表於: 星期三 九月 16, 2009 2:43 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | fschern 寫到: | 	 		  一、依照您的問題描述,我個人猜測原因如下:
 
您的VFP程式將中文資料存入SQL時,因為文字總數超過欄位長度限制(或是其他原因)而被截斷,而截斷的位置剛好是某個中文字的一半,所以存入SQL的資料之最後一個字變成了一個特殊字元。
 
當將該被截斷的資料下載至VFP時若是存在MEMO欄位中,則在VFP6時開啟該MEMO欄不會有問題,但VFP9則會產生當機的現象。
 
 
若被截掉的位置剛好不會產生特殊字元時,則就不會產生當機現象。
 
 
二、您既然是使用SQL2005,建議您將欄位型態"TEXT"者改為"VARCHAR(MAX)",程式會比較好寫,問題也比較少。 | 	  
 
 
VARCHAR(MAX)型態我有試過,但還是會當耶! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catfish
 
 
  註冊時間: 2003-05-29 文章: 45 來自: 台中
  第 45 樓
  | 
		
			
				 發表於: 星期三 九月 16, 2009 2:44 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | saint 寫到: | 	 		  SP1
 
查了一下google 也有人遇到相同的問題,但是文中說是在 VFP9 SP1 就解決了,可是你升到SP2,難不成SP2又把它蓋過去了...= =" | 	  
 
 
沒有,我有試過用原裝VFP9只升級到sp1,但還是會當!
 
VFP6 sp5及VFP8這兩個版本則ok! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |