當前位置:首頁 » 編程語言 » sqlprepare

sqlprepare

發布時間: 2022-09-04 23:20:34

A. VC中嵌入sql

VC++中無法直接嵌入SQL。某些資料庫產品提供在C語言中嵌入SQL的工具(如Oracle的Pro*C),這些工具一般是對嵌入SQL的VC++代碼進行預編譯,生成符合C++語法規則的代碼再交給C++編譯器進行編譯。
對於你的情況,你需要決定採用哪種資料庫和連接方式。VC++支持DAO、ODBC、ADO等多種連接方式,自身支持Access等資料庫,也可以通過前面的幾種連接方式連接大型資料庫。不管哪種方式,一般都是先建立數據集,然後調用數據集的某個方法來執行SQL語句。例如:
CDatabase db;
db.OpenEx(_T("DSN=Pubs;UID=sa;PWD=;"));
CRecordset rs(db);
rs.Open( CRecordset::dynaset,
_T( "Select L_Name from Customer" ) );

===解答2====
這個問題,我不知道你的基礎有多少,大體說一下,你先編一個文件,名叫ODBCTest.c

在VC++6.0中新建一個Win32 Console Application的項目,並將項目命名為ODBCTest.
然後,將已經寫好的ODBCTest.c文件加入到該項目的Source Files中,編譯並且執行.執行完成後,SQL Server中Student表的數據即為Kingbase中Student表的數據備份.
實驗源代碼.以下源碼,給出了一些注釋,供參考.
#include
#include
#include
#include
#include
#include
#define SNO_LEN 30
#define NAME_LEN 50
#define DEPART_LEN 100
#define SSEX_LEN 5
int main()
{
/* Step 1 定義句柄和變數 */
//以king開頭的表示的是連接KINGBASEES的變數
//以server開頭的表示的是連接SQLSERVER的變數
SQLHENV kinghenv, serverhenv; //環境句柄
SQLHDBC kinghdbc,serverhdbc; //連接句柄
SQLHSTMT kinghstmt,serverhstmt; //語句句柄
SQLRETURN ret;
SQLCHAR sName[NAME_LEN], sDepart[DEPART_LEN],sSex[SSEX_LEN],sSno[SNO_LEN];
SQLINTEGER sAge;
SQLINTEGER cbAge = 0, cbSno = SQL_NTS, cbSex = SQL_NTS,cbName = SQL_NTS,cbDepart = SQL_NTS;
/* Step 2 初始化環境 */
ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &kinghenv);
ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &serverhenv);
ret = SQLSetEnvAttr(kinghenv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
ret = SQLSetEnvAttr(serverhenv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
/* Step 3 :建立連接 */
ret = SQLAllocHandle(SQL_HANDLE_DBC, kinghenv, &kinghdbc);
ret = SQLAllocHandle(SQL_HANDLE_DBC, serverhenv, &serverhdbc);
ret = SQLConnect(kinghdbc,
"KingbaseES ODBC",SQL_NTS,
"SYSTEM",SQL_NTS,
"MANAGER",SQL_NTS);
if (!SQL_SUCCEEDED(ret)) //連接失敗時返回錯誤值
return -1;
ret = SQLConnect(serverhdbc,
"SQLServer",SQL_NTS,
"sa",SQL_NTS,
"sa",SQL_NTS);
if (!SQL_SUCCEEDED(ret)) //連接失敗時返回錯誤值
return -1;
/* Step 4 :初始化語句句柄 */
ret = SQLAllocHandle(SQL_HANDLE_STMT, kinghdbc, &kinghstmt);
ret = SQLSetStmtAttr(kinghstmt,SQL_ATTR_ROW_BIND_TYPE,(SQLPOINTER)SQL_BIND_BY_COLUMN,SQL_IS_INTEGER );

ret = SQLAllocHandle(SQL_HANDLE_STMT, serverhdbc, &serverhstmt);
/* Step 5 :兩種方式執行語句 */

/* 預編譯帶有參數的語句 */
ret = SQLPrepare(serverhstmt,"INSERT INTO STUDENT (SNO,SNAME,SSEX,SAGE,SDEPT) VALUES ( , , , , )", SQL_NTS);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO)
{
ret = SQLBindParameter(serverhstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, SNO_LEN, 0, sSno, 0, &cbSno);
ret = SQLBindParameter(serverhstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, NAME_LEN, 0, sName, 0, &cbName);
ret = SQLBindParameter(serverhstmt, 3, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, 2, 0, sSex, 0, &cbSex);
ret = SQLBindParameter(serverhstmt, 4, SQL_PARAM_INPUT, SQL_C_LONG,SQL_INTEGER, 0, 0, &sAge, 0, &cbAge);
ret = SQLBindParameter(serverhstmt, 5, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, DEPART_LEN, 0, sDepart, 0, &cbDepart);
}

/*執行SQL語句*/
ret = SQLExecDirect(kinghstmt,"SELECT * FROM STUDENT",SQL_NTS);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO)
{
ret = SQLBindCol(kinghstmt, 1, SQL_C_CHAR,sSno,SNO_LEN, &cbSno);
ret = SQLBindCol(kinghstmt, 2, SQL_C_CHAR, sName, NAME_LEN, &cbName);
ret = SQLBindCol(kinghstmt, 3, SQL_C_CHAR, sSex, SSEX_LEN, &cbSex);
ret = SQLBindCol(kinghstmt, 4, SQL_C_LONG, &sAge, 0, &cbAge);
ret = SQLBindCol(kinghstmt, 5, SQL_C_CHAR, sDepart, DEPART_LEN, &cbDepart);
}

B. SQL Server提示錯誤could not be prepared,可能是由什麼原因引起的,具體錯誤信息請參考截圖。

這個錯誤應該是ODBC報的錯誤,原因有很多,你要逐一檢查
1、你的操作系統是64位的,可能你是在32位的ODBC里創建的數據源,當然,反之也是有可能的
2、原來的ODBC數據源創建是成功的,可能由於SQL服務未正常啟動、SQL的用戶密碼變更等錯誤,造成你無法再次連接到SQL
3、建議你多看系統日誌,關於ODBC和SQL的錯誤,就能發現具體的問題

具體問題具體分析,你給出的只是表層的一個提示,無法給你更多的解決辦法

C. 用VB6.0做程序,遇到問題求解

使用一個字元串,再執行SQL。
參考幫助

運行動作查詢或執行 SQL 語句,它們都不返回行。

語法

connection.Execute source[, options]

query.Execute [options]

Execute 方法的語法有下列部分:

部分
描述

connection
對象表達式,其值是查詢將運行的 rdoConnection 對象。

query
為 rdoQuery 對象求值的對象表達式,其中
rdoQuery 對象的 SQL 屬性設置為指定的 SQL 語句將要執行。

source
字元串表達式,含有要執行的動作查詢或 rdoQuery 的名字。

options
Variant
或常數,確定查詢如何運行,設置值如下面所述。

設置值

可以為 options
參數可使用下列常數:

常數

描述

rdAsyncEnable
32
非同步地執行操作。

rdExecDirect
64
(預設)不創建保存過程而執行查詢。使用 SQLExecDirect 代替 SQLPrepare 和
SQLExecute。

說明

推薦只對動作查詢使用 Execute 方法。因為動作查詢不返回任何行,所以
Execute 不返回 rdoResultse。可以對執行多語句的查詢使用 Execute
方法,這些批語句都不能返回行。為了執行組合操作和 SELECT 查詢的多結果集查詢,使用 OpenResultset 方法。

使用 rdoConnection 或 rdoQuery 對象的
RowsAffected 屬性,確定受最新 Execute 方法影響的行數。RowsAffected
含有當執行動作查詢時所刪除的、更新的、或插入的行數。當使用 Execute 方法運行一個 rdoQuery 時,該
rdoQuery 對象的 RowsAffected 屬性就被設為受影響的行數。

選項

為了非同步地執行查詢,可使用 rdAsyncEnable 選項(它被預設設置)。如果設置了該選項,數據源查詢處理器立即開始查詢,且在該查詢完成之前就返回應用程序。使用
StillExecuting 屬性確定查詢處理器何時准備從查詢返回結果。使用 Cancel
方法中止非同步查詢的處理。

為了不建立臨時的保存過程就執行查詢,使用 rdExecDirect
選項。當查詢含有對事務、或對只存在於單個操作的上下文的臨時表的引用時,需要這個選項。例如,如果查詢或引用臨時表中含有 Begin Transaction
TSQL 語句,則必須使用 rdExecDirect 以確保當結束查詢掛起這些對象時,遠程引擎不拒絕。

建議不要使用 Execute
方法執行保存過程,因為過程的返回值及輸出參數會被,並且過程也不能返回行。對 rdoQuery 使用 OpenResultset
方法執行存儲過程。

注意 當執行不需要參數的保存過程時,不要在 SQL 語句中包含括弧。例如,執行 "MySP"
過程,使用下列語法:{ Call MySP }。

同樣,與下列類似的調用:
rCn.Execute SqlStatement, rdAsyncEnable +
rdExecDirect

僅允許一個未完成請求並允許 Visual Basic 代碼與 SQL Server 過程重疊,但是不允許多個未完成 SQL
Server 請求。

D. C語言如何連接Access資料庫

看視頻上是連接MySQL資料庫,MySQL安裝後配置比較麻煩,所以我試著用老師給的模板連接Access資料庫,Access是比較方便使用的 只要裝了office幾乎都有. 首先在網路搜索odbc 連接字元串 找到的是asp連接Access的方法,但是ODBC是通用的,所以直接拿過來也能用. 將 SQLCHAR ConnStrIn[MAXBUFLEN] = 「DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=root;DATABASE=test;CharSet=gbk;」; 部分改成 SQLCHAR ConnStrIn[MAXBUFLEN] = 「Driver={Microsoft Access Driver (*.mdb)};Dbq=//mydatabase.mdb;Uid=Admin;Pwd=;CharSet=gbk;」; Dbq指的是你的資料庫所在路勁 當然之前你應該在c:/下新建一個資料庫名為mydatabase.mdb,而且如果後面的SQL操作語句是老師寫的 result = SQLPrepare(hstmt,(SQLCHAR*)「insert into T_Person(FAge,FName) values(20,'kider')」,SQL_NTS); 那麼你也要在之前建立好一個表T_Person,和表中的兩個欄位FAge,FName.否則會出錯. 怎麼樣,已經成功鏈接到Access了吧,接下來你就可以發揚廣大了,做個管理系統之類的東東.!

E. c程序插入數據到SQL server2008失敗

沒有正常安裝 ADO.NET Data Services 3.5 SP1
一般來說,如果你的SQL安裝盤光是正規的,起動後會讓你先安裝SQL的預裝環境,猜想,你安裝的不是一個完整版。

你可以試著先找到 .net 3.5 sp1,安裝後再安裝你的SQL Server 2008,或是另行下載一個完整版的SQL Server 2008再試試。

請網路搜索 「SQL server 2008 R2 MSDN」後下載。
如是個人版操作系統,請搜索下載 「SQL server 2008 R2 Express」。

F. 發送資料庫命令失敗

是不是已經執行過一次了,刷新一下資料庫,把test表刪了

G. 如何編寫高性能 CLI 程序的簡要分析

可提高 CLI 程序性能的一些技術及實例分析

實例的測試環境

本文中,所有實例都是在以下的環境中測試並得出結論的:Client 與 server 在不同的物理主機上,它們之間通過 1000M 的乙太網相連。


不同環境下,測試得到的各個指標的絕對值可能會有所不同,但是我們關注的只是程序優化前後執行所需時間的一個對比,所以只要程序優化前後測試的環境是一樣的,測試得到的結果就是有意義的。


各指標的測試結果均為多次測量求平均值。


分離 SQL 語句的 Prepare 與 execute

CLI 提供了兩種執行 SQL 語句的方法:SQLPrepare() 與 SQLExecute() 順序的分步執行;使用 SQLExecDirect() 來直接預處理以及執行一個 SQL 語句。


在編寫代碼的時候,使用 SQLExecDirect() 會使代碼顯得更簡潔和容易操作,但是程序的執行效率也會受到影響。


將 SQL 語句的預處理與執行分別在不同的步驟中完成,當需要再次執行這個 SQL 語句的時候,可以省略 prepare 過程而直接執行。這會在兩個方面使性能得到提高:減少網路上請求 - 應答的交互次數以及網路中的數據流量;減少 server 端的數據處理量。


下面這段程序展示了如何使用 SQLPrepare() 與 SQLExecute() 來向表中插入數據,插入的行數由 recordNum來確定。

從上圖來看,Array size 設置的越大,執行相同的任務需要的時間也就越少,但是,這並不表明 Array size 設置的越大越好。從上圖分析發現,Array size 從 10 提高的 50,執行時間幾乎減少了一倍(14 秒);但是,把 Array size 從 200 提高到 500 時,執行時間只是減少了 20% (約 3 秒)。Array size 的設置還受內存的限制,此值設置的越大,就會佔用更多的內存。所以在實際的應用中,應該根據實際的環境來調節 Array size,來達到資源的使用和效率的一個平衡。


CLI 中還有一種技術類似於 Array 操作,即 Compound SQL, 它的原理是將一系列的 SQL 同時發送到資料庫的 server 端執行,只返回最後的結果。這種技術在性能上的提高得益於減少了網路流量,其實每一條 SQL 語句還是獨立執行的。Compound SQL 性能比普通執行 SQL 語句要好,但是比 SQL 語句的 Array 操作性能要低。


使用文件綁定來提高 LOB 操作的性能

LOB 是一種廣泛使用的數據類型,這種數據類型用來存儲大塊的數據,其上限為 2GB。如果一個應用程序需要將整個文件的內容作為表中一個類型為 LOB 的列的值,在將向本列插入數據的時候,最直接的方式就是將文件中的內容分片的讀出、發送給資料庫;然而,我們還有一種更有效率的方法,即將這個文件直接綁定到 SQL 語句的 parameter 上。


下面我們分別測試分析這兩種方法的效率,並且分析為什麼直接綁定文件到參數上會有性能的提升。

H. visual foxpro 6.0

visual foxpro資料庫函數

adatabases() 將所有打開資料庫的名稱和路徑放到內存變數數組中
adbobjects() 把當前資料庫中的命名連接名、關系名、表名或sql視圖名放到一個內存變數數組中
afields() 把當前表的結構信息存放在一個數組中,並且返回表的欄位數
alias() 返回當前表或指定工作區衰的別名
asessions() 創建一個已存在的數據工作期id數組
ataginfo() 創建一個包含索引和鍵表達式的名字、數量和類型信息的數組
aused() 將一個數據工作期中的表別名和工作區存入內存變數數組
bof() 確定當前記錄指針是否在表頭
candidate() 判斷索引是否為候選索引
cdx() 根據指定的索引位置編號,返回打開的復合索引(.cdx)文件名稱
cpdbp() 返回一個打開表所使用的代碼頁
createoffline() 由已存在的視圖創建一個游離視圖
cursorgetprop() 返回visualfoxpro表或臨時表的當前屬性設置
cursorsetprop() 指定visualfoxpro表或臨時表的屬性設置
cursortoxml() 轉換visualfoxpro臨時表為xml文本
curval() 從磁碟上的表或遠程數據源中直接返回欄位值
dbc() 返回當前資料庫的名稱和路徑
dbf() 返回指定工作區中打開的表名,或根據表別名返回表名
dbsetprop() 給當前資料庫或當前資料庫中的欄位、命名連接、表或視圖設置一個屬性
deleted() 返回一個表明當前記錄是否標有刪除標記的邏輯值
descending() 是否用descending關鍵字創建了一個索引標識
dropoffline() 放棄對游離視圖的所有修改,並把游離視圖放回到資料庫中
eof() 確定記錄指針位置是否超出當前表或指定表中的最後一個記錄
fcount() 返回衰中的欄位數目
field() 根據編號返回表中的欄位名
filter() 返回setfilter命令中指定的表篩選表達式
fldlist() 對於setmelds命令指定的欄位列表,返回其中的欄位和計算結果欄位表達式
flock() 嘗試鎖定當前表或指定表
for() 返回一個己打開的單項索引文件或索引標識的索引篩選表達式
found() 如果continue、find、locate或seek命令執行成功,函數的返回值為"真"
fsize() 以位元組為單位,返回指定欄位或文件的大小
getfldstate() 返回一個數值,標明表或臨時表中的欄位是否已被編輯,或是否有追加的記錄,或者記錄的刪除狀態是否已更改
getnextmodified() 返回一個記錄號,對應於緩沖表或臨時表中下一個被修改的記錄
header() 返回當前或指定表文件的表頭所佔的位元組數
idxcollate() 返回索引或索引標識的排序序列
indbc() 如果指定的資料庫對象在當前資料庫中,則返回"真"(.t.)
indexseek() 在一個索引表中搜索第一次出現的某個記錄
isexclusive() 判斷一個表或資料庫是以獨占方式打開的
isflocked() 返回表的鎖定狀態
isreadonly() 判斷是否以只讀方式打開表
isrlocked() 返回記錄的鎖定狀態
key() 返回索引標識或索引文件的索引關鍵字表達式
keymatch() 在索引標識或索引文件中搜索一個索引關鍵字
lookup() 在表中搜索欄位值與指定表達式匹配的第一個記錄
lupdate() 返回一個表最近一次更新的日期
mdx() 根據指定的索引編號返回打開的.cdx復合索引文件名
memlines() 返回備注欄位中的行數
mline() 以字元串形式返回備注欄位中的指定行
ndx() 返回為當前表或指定表打開的某一索引(jdx)文件的名稱
order() 返回當前表或指定表的主控索引文件或標識
primary() 檢查索引標識,如果為主索引標識,就返回"真"(.t.)
reccount() 返回當前或指定表中的記錄數目
recno() 返回當前表或指定表中的當前記錄號
recsize() 返回表中記錄的大小(寬度)
refresh() 在可更新的sql視圖中刷新數據
relation() 返回為給定工作區中打開的表所指定的關系表達式
seek() 在一個已建立索引的表中搜索一個記錄的第一次出現位置
select() 返回當前工作區編號或未使用工作區的最大編號
setfldstate() 為表或臨時表中的欄位或記錄指定欄位狀態值或刪除狀態值
sqlcancel() 請求取消一條正在執行的sql語句
sqlcolumns() 把指定數據源表的列名和關於每列的信息存儲到一個visualfoxpro臨時表中
sqlcommit() 提交一個事務
sqlconnect() 建立一個指向數據源的連接
sqldisconnect() 終止與數據源的連接
sqlexec() 將一條sql語句送入數據源中處理
sqlgetprop() 返回一個活動連接的當前設置或默認設置
sqlmoreresults() 如果存在多個結果集合,則將另一個結果集合復制到visualfoxpro臨時表中
sqlprepare() 在使用sqlexec()執行遠程數據操作前,可使用本函數使遠程數據為將要執行的命令做好准備
sqlrollback() 取消當前事務處理期間所做的任何更改
sqlsetprop() 指定一個活動連接的設置
sqlstringconnect() 使用一個連接字元串建立和數據源的連接
sqltables() 把數據源中的表名存儲到visualfoxpro臨時表中
sys(14) 索引表達式
sys(21) 控制索引編號
sys(22) 控制標識名或索引名
sys(2011) 返回當前工作區中記錄鎖定或表鎖定的狀態
sys(2012) 返回表的備注欄位塊大小
sys(2021) 篩選索引表達式
sys(2029) 返回與表類型對應的值
sys(3054) rushmore優化等級 ·
tag() 返回打開的.cdx多項復合索引文件的標識名,或者返回打開的.idx單項索引文件的文件名
tagcount() 返回復合索引文件(.cdx)標識以及打開的單項索引文件(.idx)的數目
tagno() 返回復合索引文件(.cdx)標識以及打開的單項索引(.idx)文件的索引位置
target() 返回一個表的別名,該表是setrelation命令的into子句所指定關系的目標
unique() 用於測試索引是否以惟一性方式建立
updated() 用於測試在最近的read命令中,數據是否已被修改
used() 確定是否在指定工作區中打開了一個表
xmltocursor() 轉換xml文本到visualfoxpro游標或表

----------------------------------------------

visual foxpro日期和時間函數
ctod()把字元表達式轉換成日期表達式。
cdow()從給定日期或日期時間表達式中返回星期值。
cmonth()返回給定日期或日期時間表達式的月份名稱。
ctod()把字元表達式轉換成日期表達式。
ctot()從字元表達式返回一個日期時間值。
date()返回由操作系統控制項的當前系統日期,或創建一個與2000年兼容的日期值。
datetime()以日期時間值返回當前的日期和時間, 或創建一個 2000 兼容的日期時間值。
day()以數值型返回給定日期表達式或日期時間表達式是某月中的第幾天。
dmy()從一個日期型或日期時間型表達式返回一個「日-月-年」格式的字元表達式(例如,31 may 1995)。月名不縮寫。
dtoc()由日期或日期時間表達式返回字元型日期。
dtos()從指定日期或日期時間表達式中返回 yyyymmdd 格式的字元串日期。
dtot()從日期型表達式返回日期時間型值。
gomonth()對於給定的日期表達式或日期時間表達式,返回指定月份數目以前或以後的日期。
hour()返回日期時間表達式的小時部分。
mdy()以「月-日-年」格式返回指定日期或日期時間表達式,其中月份名不縮寫。
minute()返回日期時間型表達式中的分鍾部分。
month()返回給定日期或日期時間表達式的月份值。
quarter()返回一個日期或日期時間表達式中的季度值。
sec()返回日期時間型表達式中的秒鍾部分。
seconds()以秒為單位返回自午夜以來經過的時間。
sys(1)以日期數字字元串的形式返回當前系統日期。
sys(2)返回自午夜零點開始以來的時間,按秒計算。
sys(10)將 (julian) 日期轉換成一個字元串。
sys(11)將日期格式表示的日期表達式或字元串轉換成 (julian) 日期。
time()以 24 小時制、8 位字元串(時:分:秒)格式返回當前系統時間。
ttoc()從日期時間表達式中返回一個字元值。
ttod()從日期時間表達式中返回一個日期值。
week()從日期表達式或日期時間表達式中返回代表一年中第幾周的數值。
year()從指定的日期表達式中返回年份。

visual foxpro字元函數

alltrim(). 刪除指定字元表達式的前後空格符
asc() 返回字元表達式中最左邊字元的ansi值
at() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
at_c() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
atc() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
atcc() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
addbs() 如果必要,向一個路徑表達式添加一個反斜杠
atcline() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中第一次出現的行號
atline() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的行號
between() 判斷一個表達式的值是否在另外兩個相同數據類型的表達式的值之間
chr() 根據指定的ansi數值代碼返回其對應的字元
chrtran() 將第一個字元表達式中與第二個表達式的字元相匹配的字元替換為第3個表達式中相應的字元
chrtranc() 將第一個字元表達式中與第二個表達式的字元相匹配的字元替換為第3個表達式中相應的字元
cpconvert() 把字元、備注欄位或字元表達式轉換到其他代碼頁
chrsaw() 確定一個字元是否出現在鍵盤緩沖區中
chrtran() 在一個字元表達式中,把與第二個表達式字元相匹配的字元替換為第三個表達式中相應字元
chrtranc() 將第一個字元表達式中與第二個表達式的字元相匹配的字元替換為第三個表達式中相應的字元
difference() 返回0到4間的一個整數,表示兩個字元表達式間的相對語音差別
empty() 確定表達式是否為空值
gerwordcounr() 計數一個中中的單詞數
getwordnum() 從一個串中返回一個指定的詞
inlist() 判斷一個表達式是否與一組表達式中的某一個相匹配 '
isalpha() 判斷字元表達式的最左邊一個字元是否為字母
isblank() 判斷表達式是否為空值
isdigit() 判斷字元表達式的最左邊一個字元是否為數字(0到9)
isleadbyte() 如果字元表達式第一個字元的第一個位元組是前導位元組,則返回"真"(.t.)
islower() 判斷字元表達式最左邊的字元是否為小寫字母
ismouse() 判斷計算機是否具有滑鼠
isnull() 判斷計算結果是否為null值
isupper() 判斷字元表達式的第一個字元是否為大寫字母(a~z)
left() · 從字元表達式最左邊一個字元開始返回指定數目的字元
leptc() 從字元表達式最左邊一個字元開始返回指定數目的字元
len() 返回字元表達式中字元的數目
lenc() 返回字元表達式中字待的數目
like() 確定一個字元表達式是否與另一個字元表達式相匹配
likec() 決定一個字元表達式是否與另一個字元表達式相匹配
lower() 以小寫字母形式返回指定的字元表達式
ltrim() 刪除指定的字元表達式的前導空格,然後返回得到的表達式
occurs() 返回一個字元表達式在另一個字元表達式中出現的次數
oemtoansi() 用於將字元串表達式中的字元轉換成與其相對應的ansi字元集中的字元
padl()、padr()、padc() 由一個表達式返回一個字元中,並從左邊,右邊或同時從兩邊用空格或字元把該字元串填充到 指定長度
proper() 從字元表達式中返回一個字元串,字元串中的每個首字母大寫
rat() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位內第一次出現的位置,從最右 邊的字元算起
ratc() 返回一個字元表達式在另-個字元表達式或備注欄位最後一次出現所在的行號,從最後-行算起
ratline() 回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中最後出現的行號,從最後一行 開始計數 。
repucate() 返回一個字元串,這個字元串是將指定字元表達式重復指定次數後得到的
right() 從一個字元串的最右邊開始返回指定數目的字元
rightc() 從一個字元串中返回最右邊指定數目的字元
rtrim() 刪除了字元表達式後續空格後,返回結果字元串
soundex() 返回指定的字元表達式的語音表示
space() 返回由指定數目的空格構成的字元串
str() 返回與指定數值表達式對應的字元
strconv() 將字元表達式轉換成另一種形式
strextract() 返回一個兩個分隔符間的串
strtran() 在第一個字元表達式或備注欄位中,搜索第二個字元表達式或備注欄位,並用第3個字元表達-式或備注欄位替換每次出現的第2個字元表達式或備注欄位
stuff() 返回一個字元串,此字元串是通過用另一個字元表達式替換現有字元表達式中指定數目的字元得到的
stuffc() 返回一個字元串,此字元串是通過用另一個字元表達式替換現有字元表達式中指定數目的字元、得到的
substr() 從給定的字元表達式或備注欄位中返回字元串
substrc() 從給定的字元表達式或者備注欄位返回字元串
sys(15) 替換字元串中的字元
sys(20) 轉換德文文本
textmerge() 提供串表達式的求值 。
trim() 返回刪除全部後綴空格後的指定字元表達式
txtwidth() 按照字體平均字元寬度返回字元表達式的長度
type() 計算字元表達式,並返回其內容的數據類型
upper() 用大寫字母返回指定的字元表達式

----------------------------------------------

visual foxpro數值函數

abs() 返回指定數值表達式的絕對值
acos() 返回指定數值表達式的反餘弦值
asin() 返回數值表達式的反正弦弧度值
atan() 返回數值表達式的反正切弧度值
atn2() 返回指定值的反正切值,返回值無象限限制
bintoc() 將整型用二進制字元型表示 。
bitand() 返回兩個數值型數值在按位進行and運算後的結果
bitclear() 清除一個數值型數值的指定位(將此位設置成0),並返回結果值
bitlshifr() 返回一個數值型數值向左移動給定位後的結果
brrnot() 返回一個數值型數值按位進行not運算的結果
bitor() 返回兩個數值型數值按位進行or運算的結果
bitrshiff() 返回一個數值型數值向右移動指定位後的結果
bitset() 將一個數值型數值的某一位設置為1並返回結果
bittest() 確定一個數值型數值的指定位是否為1
bitxor() 返回兩個數值型數值按位進行異或運算的結果
ceiling() 返回大於或等於指定數值表達式的最小整數
cos() 返回數值表達式的餘弦值
ctomn() 將二進制字元型表示轉換為整數
dtor() 將度轉換為弧度
evaluate() 計算字元表達式的值並返回結果
evl() 從兩個表達式中返回一個非空值
exp() 返回eax的值,其中x是某個給定的數值型表達式
floor() 對於給定的數值型表達式值,返回小於或等於它的最大整數
fv() 返回一筆金融投資的未來值
int() 計算一個數值表達式的值,並返回其整數部分
log() 返回給定數值表達式的自然對數(底數為c)
logl0() 返回給定數值表達式的常用對數(以10為底) ·
max() 對幾個表達式求值,並返回具有最大值的表達式
min() 計算一組表達式,並返回具有最小值的表達式
mod() 用一個數值表達式去除另一個數值表達式,返回余數
mton() 由一個貨幣型表達式返回一個數值型值
normalize() 把用戶提供的字元表達式轉換為可以與visualfoxpro函數返回值相比較的格式
ntom() 由一個數值表達式返回含有四位小數的貨幣值
nvl() 從兩個表達式返回一個非null值
payment() 返回固定利息貸款按期兌付的每一筆支出數量
pi() 返回數值常數n
pv() 返回某次投資的現值
rand() 返回一個0到1之間的隨機數
round() 返回圓整到指定小數位數的數值表達式
rtod() 將弧度轉化為度
sign() 當指定數值表達式的值為正、負或0時,分別返回1、-1或0
sin() 返回一個角度的正弦值 ·
sqrt() 返回指定數值表達式的平方根
sys(2007) 返回一個字元表達式的檢查求和值
tan() 返回角度的正切值
val() 由數字組成的字元表達式返回數字值

熱點內容
口語交際訪問 發布:2025-01-15 06:44:13 瀏覽:327
編程少兒學習 發布:2025-01-15 06:39:03 瀏覽:502
伺服器搭建怎麼設置 發布:2025-01-15 06:39:01 瀏覽:149
格魯爾要什麼配置 發布:2025-01-15 06:26:56 瀏覽:855
linux下安裝jdk 發布:2025-01-15 06:03:05 瀏覽:545
伺服器拷數據到電腦 發布:2025-01-15 05:58:19 瀏覽:481
android的單例模式 發布:2025-01-15 05:50:55 瀏覽:928
aes256在線加密工具 發布:2025-01-15 05:36:25 瀏覽:223
朋友圈的緩存在哪裡 發布:2025-01-15 05:35:01 瀏覽:509
進入時間段的密碼是多少 發布:2025-01-15 05:11:07 瀏覽:384