| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		zfgg
 
 
  註冊時間: 2004-05-31 文章: 179 來自: 中国
  第 1 樓
  | 
		
			
				 發表於: 星期二 十一月 02, 2004 11:22 am    文章主題: VFP表的小数值到SQL表中只有整数 | 
				     | 
			 
			
				
  | 
			 
			
				| 从一个VFP表中,读出的数值,插入到SQL表中,使用的是存储过程,数据定义用的是decimal 。在VFP中,使用了str(vary,10,2),原变量有小数,传到SQL后,不行了,不显示小数,只有四舍五入的整数。请教如何解决? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 2 樓
  | 
		
			
				 發表於: 星期二 十一月 02, 2004 11:48 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				會不會是你在sql表中用了整數欄位 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		zfgg
 
 
  註冊時間: 2004-05-31 文章: 179 來自: 中国
  第 3 樓
  | 
		
			
				 發表於: 星期四 十一月 04, 2004 3:47 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| SQL数据定义用的是decimal 。在VFP中字段定义是数值型,表与grid1捆在一起,加入了文本框.文本框显示有小数.取值用aa=str(vary1,10,2)方法,传到SQL后,只有四舍五入的整数。如果用spinner控件,传到SQL后,有整数小数。但是我不想用spinner控件.请教还有没有解决方法? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		goto-dream
 
 
  註冊時間: 2004-05-11 文章: 909
 
  第 4 樓
  | 
		 | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		zfgg
 
 
  註冊時間: 2004-05-31 文章: 179 來自: 中国
  第 5 樓
  | 
		
			
				 發表於: 星期五 十一月 05, 2004 10:50 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我用的下列方法,还是不行!
 
’ypsl'是字段的名,为 numeric 型。
 
_ypsl = alltri(str(ypsl,10,2))
 
sqlexec(handle,"{call st_cufang (?_ypsl)}") | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 6 樓
  | 
		
			
				 發表於: 星期五 十一月 05, 2004 11:09 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				資料型態是 decimal , 為何要用 STR( ) 將它轉成文字? _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		bin1x
 
 
  註冊時間: 2004-08-27 文章: 462
 
  第 7 樓
  | 
		
			
				 發表於: 星期五 十一月 05, 2004 11:46 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				其實稍做一下測試
 
並無他所指的結果
 
除非他的預儲程式有問題
 
有再做型態的轉換
 
str(數值,10,2) 會將數值轉換成字串
 
比如數值是10.02
 
字串也是10.02
 
他所指的情況也試過了,並無所指的情形發生
 
除了預儲程序,
 
而他指的情況,搞不好問題是在
 
sql預儲程式,有做了資料型態的轉換 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		zfgg
 
 
  註冊時間: 2004-05-31 文章: 179 來自: 中国
  第 8 樓
  | 
		
			
				 發表於: 星期五 十一月 05, 2004 3:18 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 谢谢各位大力指导!我终于试出来了。原因是在存储过程中没有指定位数。将原来的"@_ypsl decimal" 改这"@_ypsl decimal(10,2)"就行了。但是为什么是spinner控件的值传过去不会丢失小数?我还不知道。我在查询分析器中,在不指定位数的情况下,直接赋值数字,只有整数,也没有小数。 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |