上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
whh
註冊時間: 2010-04-16 文章: 166
第 1 樓
|
發表於: 星期五 八月 08, 2014 9:54 am 文章主題: AFIELD 取得欄位長度問題 ? |
|
|
1. 參考版上大大的Code
2. 查了AFIELD函數 (3 = Field width)
http://msdn.microsoft.com/en-us/library/7kd8d4ez%28v=vs.80%29.aspx
但是.... 不懂為什麼取出來的欄位長度是錯誤的
http://i.imgur.com/jgHK78V.jpg?1
為什麼我要取這個呢 ?
因為我實在受不了......net C#
做Class 要很智障的人工,去作一個跟Table結構一模一樣的出來=.=
PS.每個單字連在一起的單字還規定要開頭大小 (公司規定)
↑
這個我已解決,我把所有Table欄位都掃出來 Group by 欄位後
怒做了一份字典檔
寫個自動比對轉換程式,字串進去自動檢查轉換!
※不然每次做一個Class,【馬的】感覺要花 30~60分鐘!
------------------------------------------------------------
所以我想寫一個功能
輸入: SQL
產生:
1. 我要的Class 結構
2. 相關建構子(屬性/欄位,如果get 進去日期...等要回傳啥)
3. 各別單字開頭大寫 (已解決)
資料庫是 Oracle 我用 ODBC連線
whh 在 星期五 八月 08, 2014 10:11 am 作了第 1 次修改 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期五 八月 08, 2014 10:01 am 文章主題: |
|
|
若不愛用 AField
那用 COPY STRUCTURE EXTENDED 也行呀 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 3 樓
|
發表於: 星期五 八月 08, 2014 10:06 am 文章主題: |
|
|
AFILED 查的應該是 "CURSOR" 的欄寬
但 CURSOR 不等於 SQL 上實際資料情況
HELP 說明:
"在特定的工作區、資料表格別名或是目前選取的工作區,檢視並儲存有關資料表格的資訊並傳回在資料表格中的欄位數量。"
但我們都知道可以在 SQL 命令中變更傳回CURSOR的型態.
例如 CONVERT 或是 CAST 函式.
應該是用這個吧
SQLCOLUMNS.
"將指定的資料來源資料表格的欄位名稱清單和有關每個欄位的資訊儲存到 Visual FoxPro 暫存資料表格。"
但這個也不能完全說準.
因為有 ODBC FIELD 對應問題 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙
syntech 在 星期五 八月 08, 2014 10:14 am 作了第 1 次修改 |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 4 樓
|
發表於: 星期五 八月 08, 2014 10:08 am 文章主題: |
|
|
感謝兩位大大我來努力研究一下 |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 5 樓
|
發表於: 星期五 八月 08, 2014 11:15 am 文章主題: |
|
|
剛剛測試 SQLCOLUMNS 一樣會抓錯 T.T
gnConnHandle = SQLSTRINGCONNECT("DRIVER={Microsoft ODBC for Oracle};ConnectString=資料庫名稱;Uid=帳號;Pwd=密碼;")
N = SQLCOLUMNS(gnConnHandle, "Table名稱", 'FOXPRO', "MyCursor")
? N
Brower
長度還是錯誤的 12 ,而不是正確的 10
還有什麼辦法可以完全抓準的><
另外 SQLCOLUMNS可能不適用,因為它好像是指定單一 Table ?
***********************************
我的目標是 SQL 會有 Join到其他Table出來的那一包~
不過目前長度沒有也沒關係,只要有最重要得【欄位名稱】&【欄位型別】基本上符合我的需求了 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 6 樓
|
發表於: 星期五 八月 08, 2014 11:25 am 文章主題: |
|
|
前面有提到:
"但這個也不能完全說準.
因為有 ODBC FIELD 對應問題"
http://msdn.microsoft.com/en-US/en-en/library/windows/apps/xaml/0d6d6c1e(v=vs.80).aspx
因為FOXPRO 是用 VFP 變數型態 <=> ODBC 變數型態 <=> 遠端資料庫變數型態.
三段方式對應,
所以與原本遠端資料庫的變數型態並非 100% 相符. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 7 樓
|
發表於: 星期五 八月 08, 2014 11:26 am 文章主題: |
|
|
ckp6250 寫到: | 若不愛用 AField
那用 COPY STRUCTURE EXTENDED 也行呀 |
感謝 ckp大6250 大大
這個 function 方便好多 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期五 八月 08, 2014 11:27 am 文章主題: |
|
|
VFP 6 HELP:
----------------
控制資料型態轉換
在遠端伺服器和 Visual FoxPro 之間轉移資料時,多少會遇到伺服器上的資料型態與 Visual FoxPro 中的資料型態有差別的情況,遠端資料來源和 Visual FoxPro 的資料型態完全一一對應的情況是極少的。為了處理這些差別,Visual FoxPro 借助 ODBC 資料型態將遠端資料型態對應為本地 Visual FoxPro 資料型態。透過掌握如何在 ODBC 和 Visual FoxPro 之間對應資料型態,可以瞭解 Visual FoxPro 應用程式如何處理伺服器上的遠端資料。
如果需要,還可以調整在伺服器上或者應用程式中使用的資料型態。可以透過為遠端資料集合建立一個資料集,然後在資料庫中設定 DataType 資料集欄位屬性來忽略預設的 Visual FoxPro 欄位資料型態。DataType 屬性是一個字元屬性,指出一個遠端資料集中每個欄位所需的資料型態。有關 DataType 屬性的詳細內容,請參閱 DBSETPROP( )。
下載和上載遠端資料集資料
從一個遠端 ODBC 資料來源檢索資料時,Visual FoxPro 把每個 ODBC 欄位的資料型態轉換成結果集暫存資料表格中地位平行的 Visual FoxPro 資料型態。下表列出 ODBC 資料來源上提供的資料型態,以及對應的 Visual FoxPro 的資料型態。
遠端欄位的 ODBC 資料型態 Visual FoxPro 暫存資料表格中欄位資料型態
SQL_CHAR 字元型態或附註型態1
SQL_VARCHAR
SQL_LONGVARCHAR
SQL_BINARY附註型態
SQL_VARBINARY
SQL_LONGVARBINARY
SQL_DECIMAL
SQL_NUMERIC 數值型態或貨幣型態2
SQL_BIT 邏輯型態
SQL_TINYINT
SQL_SMALLINT
SQL_INTEGER 整數
SQL_BIGINT 字元型態
SQL_REAL
SQL_FLOAT
SQL_DOUBLE 倍精準數;小數位點由 Visual FoxPro 中 SET DECIMAL 的值決定。
SQL_DATE 日期型態
SQL_TIME 日期時間型態3
SQL_TIMESTAMP 日期時間型態4
1 如果 ODBC 欄位寬度小於暫存資料表格屬性 UseMemoSize 的值,在 Visual FoxPro 暫存資料表格中它將變成一個字元型態欄位;否則,它成為一個附註欄位。2 如果伺服器欄位為 money 資料型態,則在 Visual FoxPro 中它變成貨幣型態。
3 日期預設為1/1/1900。
4 如果 SQL_TIMESTAMP 欄位的值包含秒的小數部份,則在轉換成 Visual FoxPro 的日期時間型態資料時,該小數被截尾。
附註 在 ODBC 資料來源欄位中的 null 值變成 Visual FoxPro 暫存資料表格中的 null 值,應用程式檢索遠端資料時不管 Visual FoxPro 中的 SET NULL 設定。
把 Visual FoxPro 參數轉換成遠端資料集資料型態
如果存於暫存資料表格中的 Visual FoxPro 資料來自遠端資料,當這些資料在遠端伺服器上執行時,會轉換成它們原來的 ODBC 型態。如果透過 SQL pass-through 在遠端伺服器上執行來自 Visual FoxPro 的資料,將進行下面的轉換。
Visual FoxPro 資料型態 ODBC 資料型態
字元型態 SQL_CHAR 或 SQL_LONGVARCHAR1
貨幣型態 SQL_DECIMAL
日期型態 SQL_DATE 或
SQL_TIMESTAMP2
日期時間型態 SQL_TIMESTAMP
倍精準數型態 SQL_DOUBLE
整數型態 SQL_INTEGER
通用型態 SQL_LONGVARBINARY
邏輯型態 SQL_BIT
附註型態 SQL_LONGVARCHAR
數值型態 SQL_DOUBLE
1 如果以 Visual FoxPro 記憶體變數為參數建立了一個寬度小於 255 的運算式,那麼在 ODBC 資料來源中它成為 SQL_CHAR 型態;否則,成為 SQL_LONGVARCHAR 型態。
2 對於除 SQL Server 以外的所有其他 ODBC 資料來源,Visual FoxPro 日期型態資料都被轉換成 SQL_DATE 型態,對於 SQL Server,它被轉換成 SQL_TIMESTAMP 型態。
把 Visual FoxPro 參數對應為遠端資料型態
可把一個 Visual FoxPro 參數值對應為一個特定的遠端資料型態,方法是對該參數設定格式,使其成為一個字元運算式,該字元運算式符合對應的遠端資料型態的語法要求。例如,如果您的伺服器提供日期時間型態資料型態,您可以以該伺服器所支援的日期時間型態格式為您的 Visual FoxPro 參數建立一個字元運算式,在伺服器接收到該參數字的時候,它會嘗試把這個經過設定格式的資料對應為日期時間型態資料。
附註 在傳送一個參數給遠端伺服器時,必須確保 WHERE 子句中的資料型態與參數運算式中所使用的資料型態相符合。 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 9 樓
|
發表於: 星期五 八月 08, 2014 11:28 am 文章主題: |
|
|
嗯 我有看到^^
也要謝謝你提供的方法
然後大大你英文好強.... 看到那個網址我直接貼到google了
慚愧 ._. |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 10 樓
|
發表於: 星期五 八月 08, 2014 11:30 am 文章主題: |
|
|
VFP 6 HELP:
----------------
控制資料型態轉換
在遠端伺服器和 Visual FoxPro 之間轉移資料時,多少會遇到伺服器上的資料型態與 Visual FoxPro 中的資料型態有差別的情況,遠端資料來源和 Visual FoxPro 的資料型態完全一一對應的情況是極少的。為了處理這些差別,Visual FoxPro 借助 ODBC 資料型態將遠端資料型態對應為本地 Visual FoxPro 資料型態。透過掌握如何在 ODBC 和 Visual FoxPro 之間對應資料型態,可以瞭解 Visual FoxPro 應用程式如何處理伺服器上的遠端資料。
如果需要,還可以調整在伺服器上或者應用程式中使用的資料型態。可以透過為遠端資料集合建立一個資料集,然後在資料庫中設定 DataType 資料集欄位屬性來忽略預設的 Visual FoxPro 欄位資料型態。DataType 屬性是一個字元屬性,指出一個遠端資料集中每個欄位所需的資料型態。有關 DataType 屬性的詳細內容,請參閱 DBSETPROP( )。
下載和上載遠端資料集資料
從一個遠端 ODBC 資料來源檢索資料時,Visual FoxPro 把每個 ODBC 欄位的資料型態轉換成結果集暫存資料表格中地位平行的 Visual FoxPro 資料型態。下表列出 ODBC 資料來源上提供的資料型態,以及對應的 Visual FoxPro 的資料型態。
遠端欄位的 ODBC 資料型態 Visual FoxPro 暫存資料表格中欄位資料型態
SQL_CHAR 字元型態或附註型態1
SQL_VARCHAR
SQL_LONGVARCHAR
SQL_BINARY 附註型態
SQL_VARBINARY
SQL_LONGVARBINARY
SQL_DECIMAL 數值型態或貨幣型態2
SQL_NUMERIC
SQL_BIT 邏輯型態
SQL_TINYINT 整數
SQL_SMALLINT
SQL_INTEGER
SQL_BIGINT 字元型態
SQL_REAL 倍精準數;小數位點由 Visual FoxPro 中 SET DECIMAL 的值決定。
SQL_FLOAT
SQL_DOUBLE
SQL_DATE 日期型態
SQL_TIME 日期時間型態3
SQL_TIMESTAMP 日期時間型態4
1 如果 ODBC 欄位寬度小於暫存資料表格屬性 UseMemoSize 的值,在 Visual FoxPro 暫存資料表格中它將變成一個字元型態欄位;否則,它成為一個附註欄位。2 如果伺服器欄位為 money 資料型態,則在 Visual FoxPro 中它變成貨幣型態。
3 日期預設為1/1/1900。
4 如果 SQL_TIMESTAMP 欄位的值包含秒的小數部份,則在轉換成 Visual FoxPro 的日期時間型態資料時,該小數被截尾。
附註 在 ODBC 資料來源欄位中的 null 值變成 Visual FoxPro 暫存資料表格中的 null 值,應用程式檢索遠端資料時不管 Visual FoxPro 中的 SET NULL 設定。
把 Visual FoxPro 參數轉換成遠端資料集資料型態
如果存於暫存資料表格中的 Visual FoxPro 資料來自遠端資料,當這些資料在遠端伺服器上執行時,會轉換成它們原來的 ODBC 型態。如果透過 SQL pass-through 在遠端伺服器上執行來自 Visual FoxPro 的資料,將進行下面的轉換。
Visual FoxPro 資料型態 ODBC 資料型態
字元型態 SQL_CHAR 或 SQL_LONGVARCHAR1
貨幣型態 SQL_DECIMAL
日期型態 SQL_DATE 或SQL_TIMESTAMP2
日期時間型態 SQL_TIMESTAMP
倍精準數型態 SQL_DOUBLE
整數型態 SQL_INTEGER
通用型態 SQL_LONGVARBINARY
邏輯型態 SQL_BIT
附註型態 SQL_LONGVARCHAR
數值型態 SQL_DOUBLE
1 如果以 Visual FoxPro 記憶體變數為參數建立了一個寬度小於 255 的運算式,那麼在 ODBC 資料來源中它成為 SQL_CHAR 型態;否則,成為 SQL_LONGVARCHAR 型態。
2 對於除 SQL Server 以外的所有其他 ODBC 資料來源,Visual FoxPro 日期型態資料都被轉換成 SQL_DATE 型態,對於 SQL Server,它被轉換成 SQL_TIMESTAMP 型態。
把 Visual FoxPro 參數對應為遠端資料型態
可把一個 Visual FoxPro 參數值對應為一個特定的遠端資料型態,方法是對該參數設定格式,使其成為一個字元運算式,該字元運算式符合對應的遠端資料型態的語法要求。例如,如果您的伺服器提供日期時間型態資料型態,您可以以該伺服器所支援的日期時間型態格式為您的 Visual FoxPro 參數建立一個字元運算式,在伺服器接收到該參數字的時候,它會嘗試把這個經過設定格式的資料對應為日期時間型態資料。
附註 在傳送一個參數給遠端伺服器時,必須確保 WHERE 子句中的資料型態與參數運算式中所使用的資料型態相符合。 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 11 樓
|
發表於: 星期五 八月 08, 2014 11:31 am 文章主題: |
|
|
VFP 9 HELP:
-----------------
資料型態轉換控制
在遠端伺服器和 Visual FoxPro 之間轉移資料時,多少會遇到伺服器上的資料型態與 Visual FoxPro 中的資料型態有差別的情況。遠端資料來源和 Visual FoxPro 的資料型態完全一一對應的情況是極少的。為了處理這些差別,Visual FoxPro 借助 ODBC 或 ADO 資料型態將遠端資料型態對應為本地 Visual FoxPro 資料型態。透過掌握如何在 ODBC ( 或 ADO) 和 Visual FoxPro 之間對應資料型態,可以瞭解 Visual FoxPro 應用程式如何處理伺服器上的遠端資料。
還可以調整在伺服器上或者應用程式中使用的資料型態。可以透過為遠端資料集合建立一個資料集,然後在資料庫中設定 DataType 資料集欄位屬性來忽略預設的 Visual FoxPro 欄位資料型態。DataType 屬性是一個字元屬性,指出一個遠端資料集中每個欄位所需的資料型態。有關 DataType 屬性的詳細內容,請參閱「DBSETPROP( ) 函數」。
在遠端資料集和 Visual FoxPro 暫存資料表格之間轉換資料型態
從一個遠端 ODBC 或 ADO 資料來源檢索資料時,Visual FoxPro 把每個 ODBC 或 ADO 欄位的資料型態轉換成結果集暫存資料表格中地位平行的 Visual FoxPro 資料型態。
遠端資料型態對應 Visual FoxPro 資料型態
下表列出在遠端欄位資料型態和 Visual FoxPro 暫存資料表格資料型態之間對應的預設資料型態。
ODBC/ADO 資料型態 預設的 Visual FoxPro 暫存資料表格資料型態
SQL_BINARY 附註型態/二進位大型物件型態、可變長度二進位型態
/ adBinary SQL_VARBINARY
/ adVarbinary
注意:
受 MapBinary 屬性影響的預設型態。相關詳細資訊請參閱「CURSORSETPROP( ) 函數」。
SQL_LONGVARBINARY 通用型態/二進位大型物件型態
注意:
受 MapBinary 屬性影響的預設型態。相關詳細資訊請參閱「CURSORSETPROP( ) 函數」。
adLongVarbinary 附註型態或字元型態
SQL_CHAR 附註型態1、字元型態/可變長度字元型態
/ adChar SQL_WCHAR
/ adWChar
SQL_LONGVARCHAR 附註型態
/ adLongVarChar SQL_WLONGVARCHAR
/ adLongVarWChar
SQL_VARCHAR 附註型態1、字元型態/可變長度字元型態
/ adVarChar SQL_WVARCHAR
/ adVarWChar
注意:
受 MapVarchar 屬性影響的預設型態。相關詳細資訊請參閱「CURSORSETPROP( ) 函數」。
SQL_DECIMAL 貨幣型態2
/ adNumeric SQL_NUMERIC
/ adNumeric
SQL_BIT 邏輯型態
/ adBoolean
SQL_TINYINT 整數型態
/ adVarbinary SQL_SMALLINT
/ adSmallInt SQL_INTEGER
/ adInteger
SQL_BIGINT 字元型態
/ adBigInt
SQL_REAL 倍精準數型態
/ adSingle SQL_FLOAT
/ adDouble SQL_DOUBLE
/ adSingle
注意:
對於倍精準數,其小數位點由 Visual FoxPro 中 SET DECIMAL 命令的值決定。
SQL_DATE 日期型態
/ adDBTimeStamp
SQL_TIME 日期時間型態4
/ adDBTTimeStamp
SQL_TIMESTAMP 日期時間型態3
/ adBinary
1 如果 ODBC/ADO 欄位寬度小於暫存資料表格屬性 UseMemoSize 的值,在 Visual FoxPro 暫存資料表格中它將變成一個字元型態/可變長度字元型態/可變長度二進位型態欄位;否則,它成為一個附註型態/二進位大型物件型態欄位。
2 如果伺服器欄位為 money 資料型態,則在 Visual FoxPro 中它變成貨幣型態。
3 如果 SQL_TIMESTAMP 欄位的值包含秒的小數部份,則在轉換成 Visual FoxPro 的日期時間型態資料時,該小數被截尾。
4 日期預設為 1/1/1900。
下表列出在使用遠端資料集或暫存資料表格配接器物件,以及 ODBC 或 ADO 資料來源和對應的 Visual FoxPro 的資料型態時,可用的資料型態。有關指定暫存資料表格結構描述的詳細內容,請參閱「暫存資料表格配接器的 CursorFill 方法程序」。
ODBC/ADO 資料型態 Visual FoxPro 暫存資料表格可接受的資料型態
SQL_BINARY 二進位大型物件型態、可變長度二進位型態、
/ adBinary SQL_VARBINARY 字元型態、可變長度字元型態、通用型態、附註型態5
/ adVarbinary SQL_LONGVARBINARY
/ adLongVarbinary SQL_CHAR
/ adChar SQL_VARCHAR
/ adVarChar SQL_LONGVARCHAR
/ adLongVarChar
SQL_WCHAR 字元型態、可變長度字元型態、附註型態
/ adWChar SQL_WVARCHAR
/ adVarWChar SQL_WLONGVARCHAR
/ adLongVarWChar
SQL_BIT 字元型態、可變長度字元型態、邏輯型態
/ adBoolean
SQL_REAL 字元型態、可變長度字元型態、整數型態、
/ adSingle SQL_FLOAT 數值型態、浮點數型態、倍精準數型態或貨幣型態6
/ adDouble SQL_DOUBLE
/ adSingle SQL_DECIMAL
/ adNumeric SQL_NUMERIC
/ adNumeric SQL_TINYINT
/ adVarbinary SQL_SMALLINT
/ adSmallInt SQL_INTEGER
/ adInteger SQL_BIGINT
/ adBigInt
注意:
對於倍精準數,其小數位點由 Visual FoxPro 中 SET DECIMAL 命令的值決定。
SQL_DATE 字元型態、可變長度字元型態、日期型態、日期時間型態7
/ adDBTimeStamp SQL_TIMESTAMP
/ adBinary
SQL_TIME / adDBTTimeStamp 字元型態、可變長度字元型態、日期時間型態8
5 如果 ODBC 欄位寬度小於暫存資料表格屬性 UseMemoSize 的值,在 Visual FoxPro 暫存資料表格中它將變成一個字元型態欄位;否則,它成為一個附註欄位。
6 如果伺服器欄位為 money 資料型態,則在 Visual FoxPro 中它變成貨幣型態。
7 如果 SQL_TIMESTAMP 欄位的值包含秒的小數部份,則在轉換成 Visual FoxPro 的日期時間型態資料時,該小數被截尾。
8 日期預設為 1/1/1900。
注意:
在 ODBC 資料來源欄位中的 null 值變成 Visual FoxPro 暫存資料表格中的 null 值,應用程式檢索遠端資料時不管 Visual FoxPro 中的 SET NULL 命令設定。
在 Visual FoxPro 9.0 中,某些 ODBC 和 ADO 資料型態可以被遠端資料集和暫存資料表格配接器物件中的邏輯資料型態所對應。
如果後端值是零,該資料型態是對應到一個邏輯假值 (.F.);而所有其他的值是對應到邏輯真值 (.T.)。當進行更新時,從一個邏輯資料型態到一個整數的對應是後端特定的。對於 ODBC,假值 (.F.) 通常對應到 0 以及真值 (.T.) 通常對應到 1。對於 ADO,假值 (.F.) 通常對應到 0 以及真值 (.T.) 通常對應到 1 或 -1,這取決於命令開始執行時。暫存資料表格配接器的 ConversionFunc 屬性可以被用來加強對應。
對於遠端資料集和暫存資料表格配接器物件,如果 Scale 被設定為零時,ODBC SQL_DECIMAL 和 SQL_NUMERIC 資料型態只能對應到一個邏輯值。
對於暫存資料表格配接器物件,如果 Scale 被設定為零時,ADO 的 adDecimal 和 adNumeric 資料型態只能對應到一個邏輯值。
下表列出 ODBC 和 ADO 資料型態可以對應到邏輯資料型態。
ODBC 資料型態 ADO 資料型態
SQL_TINYINT adSingle
SQL_SMALLINT adTinyInt
SQL_INTEGER adSmallInt
SQL_BIGINT adInteger
SQL_DECIMAL adBigInt
SQL_NUMERIC adUnsignedTinyInt
adUnsignedSmallInt
adDecimal
adNumeric
下表列出在使用遠端資料集和暫存資料表格配接器物件,以及 Visual FoxPro 資料和它們對應的 Visual FoxPro 的資料型態時,可用的資料型態。
Visual FoxPro 原始資料型態 Visual FoxPro 暫存資料表格可接受的資料型態
字元型態、附註型態、通用型態 字元型態、可變長度字元型態、附註型態、通用型態
數值型態、浮點數型態、貨幣型態、 數值型態、浮點數型態、貨幣型態、整數型態、
整數型態、倍精準數型態 倍精準數型態、字元型態、可變長度字元型態
邏輯型態 邏輯型態、字元型態、可變長度字元型態
日期型態、日期時間型態 字元型態、可變長度字元型態、日期型態、日期時間型態
把 Visual FoxPro 參數值轉換成遠端資料集資料型態
如果存於暫存資料表格中的 Visual FoxPro 資料來自遠端資料,當這些資料在遠端伺服器上執行時,會恢復成它們原來的 ODBC 或 ADO 資料型態。如果透過 SQL 傳遞在遠端伺服器上執行來自 Visual FoxPro 的資料,將進行下面所描述的轉換。
Visual FoxPro 資料型態 ODBC 資料型態
字元型態、可變長度字元型態、附註型態 SQL_CHAR or SQL_LONGVARCHAR9
二進位大型物件型態、可變長度二進位型態 SQL_BINARY or SQL_LONGVARBINARY
貨幣型態 SQL_DECIMAL
日期型態 SQL_DATE or SQL_TIMESTAMP10
日期時間型態 SQL_TIMESTAMP
倍精準數型態 SQL_DOUBLE
整數型態 SQL_INTEGER
通用型態 SQL_LONGVARBINARY
邏輯型態 SQL_BIT
數值型態 SQL_DOUBLE
9 如果以 Visual FoxPro 記憶體變數為參數建立了一個寬度小於 255 的運算式,那麼在 ODBC 資料來源中它成為 SQL_CHAR 型態;否則,成為 SQL_LONGVARCHAR 型態。
10 對於除 SQL Server 以外的所有其他 ODBC 資料來源,Visual FoxPro 日期型態資料都被轉換成 SQL_DATE 型態,對於 SQL Server,它被轉換成 SQL_TIMESTAMP 型態。
把 Visual FoxPro 參數值對應為遠端資料型態
可把一個 Visual FoxPro 參數值對應為一個特定的遠端資料型態,方法是對該參數設定格式,使其成為一個字元運算式,該字元運算式符合對應的遠端資料型態的語法要求。例如,如果您的伺服器提供日期時間型態資料型態,您可以以該伺服器所支援的日期時間型態格式為您的 Visual FoxPro 參數建立一個字元運算式。在伺服器接收到該參數字的時候,它會嘗試把這個經過設定格式的資料對應為日期時間型態資料。
注意:
在傳送一個參數給遠端伺服器時,必須確保 WHERE 子句中的資料型態與參數運算式中所使用的資料型態相符合。 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
|