ODBC_API常用函数介绍
ODBC函数

字符串函数下表包含字符串函数的示例。
有关更多信息,请参见字符串函数和使用字符串函数。
1 如果作为 ODBC 函数调用,请使用如下语法:{ fn LCASE(text) }。
日期函数下表包含日期函数的样本。
有关更多信息,请参见 日期和时间函数。
定部分,包括日、月或年。
1 如果作为 ODBC 函数调用,请使用如下语法:{ fn CURDATE() }。
数学函数下列函数是许多数据库中可用的典型函数。
有关更多信息,请参见数学函数。
注意 可以使用聚合函数 AVG( )、COUNT( )、MAX( )、MIN( ) 和 SUM( ) 在报表中创建平均值及合计系统函数下列函数是许多数据库中可用的典型函数。
有关更多信息,请参见系统函数。
1 如果作为 ODBC 函数调用,请使用如下语法:{ fn USER() }。
其它函数下列函数举例说明许多数据库中可用的实用工具函数。
有关更多信息,请参见函数。
参见字符串函数和使用字符串函数。
如下语法:{ fn LCASE(text) }。
见 日期和时间函数。
如下语法:{ fn CURDATE() }。
更多信息,请参见数学函数。
UNT( )、MAX( )、MIN( ) 和 SUM( ) 在报表中创建平均值及合计值。
有关详细信息,请参见汇总和分组。
更多信息,请参见系统函数。
如下语法:{ fn USER() }。
函数。
有关更多信息,请参见函数。
写时不匹配)。
有关在 SQL Server 中区分大小写的详细信息,请参见查询设计器注意事项。
见汇总和分组。
ODBC的接口函数

ODBC的接口函数1.连接到数据源下面的函数用于连接到数据源:(1)sqlallochandle:分配环境、相连接、语句或者描述符句柄。
(2)sqlconnect:创建与驱动程序或者数据源的相连接。
出访数据源的相连接句柄涵盖了包含状态、事务言明和错误信息的所有相连接信息。
(3)sqldriverconnect:与sqlconnect相近,用以相连接至驱动程序或者数据源。
但它比sqlconnect积极支持数据源更多的相连接信息,它提供更多了一个对话框去提示信息用户设置所有的相连接信息以及系统信息表中没定义的数据源。
(4)sqlbrowseconnect:支持一种交互方法来检索或者列出连接数据源所需要的属性和属性值。
每次调用函数可以获取一个连接属性字符串,当检索完所有的属性值,就建立起与数据源的连接,并且返回完整的连接字符串,否则提示缺少的连接属性信息,用户根据此信息重新输入连接属性值再次调用此函数进行连接。
2.获取驱动程序和数据源信息下面的函数用以以获取驱动程序和数据源信息:(1)sqldatasources:能够被调用多次来获取应用程序使用的所有数据源的名字。
(2)sqldrivers:回到所有加装过的驱动程序目录,包含对它们的叙述以及属性关键字。
(3)sqlgetinfo:返回连接的驱动程序和数据源的元信息。
(4)sqlgetfunctions:回到选定的驱动程序与否积极支持某个特定函数的信息。
(5)sqlgettypeinfo:返回指定的数据源支持的数据类型的信息。
3.设置或者获取驱动程序属性下面的函数用以设置或者以获取驱动程序属性:(1)sqlsetconnectattr:设置相连接属性值。
(2)sqlgetconnectattr:回到相连接属性值。
(3)sqlsetenvattr:设置环境属性值。
(4)sqlgetenvattr:回到环境属性值。
(5)sqlsetstmtattr:设置语句属性值。
php odbc所有操作函数

php odbc所有操作函数ODBC连接类函数odbc_connect函数:打开一个ODBC连接odbc_close函数:关闭一个已经打开的ODBC连接odbc_close_all函数:关闭所有已经打开的ODBC连接odbc_pconnect函数:打开一个持续有效的ODBC连接ODBC操作类函数odbc_commit函数:更新所有处于未决状态的操作odbc_do函数:在打开的ODBC连接上执行SQL语句odbc_exec函数:执行SQL语句odbc_execute函数:执行一个预置的SQL语句odbc_free_result函数:释放传回资料所占用的内存odbc_prepare函数:预置SQL语句的执行odbc_rollback函数:撤销所有处于未决状态的操作ODBC信息获取类函数odbc_columnprivileges函数:列出给定表的列和相关的权限odbc_columns函数:列出指定表的列的名称odbc_cursor函数:获取光标的名称odbc_data_source函数:返回连接数据库的信息odbc_error函数:获取最后的错误代码odbc_errormsg函数:获取最后的错误信息odbc_fetch_array函数:获取结果集数组odbc_fetch_into函数:获取传回的指定列odbc_fetch_object函数:返回结果集到对象odbc_fetch_row函数:获取传回的一列odbc_field_len函数:获取字段的长度odbc_field_name函数:获取字段的名称odbc_field_num函数:获取字段的序号odbc_field_precision函数:获取字段的长度odbc_field_scale函数:获取字段的浮点数odbc_field_type函数:获取字段的资料类型odbc_foreignkeys函数:返回特定表的外来键odbc_gettypeinfo函数:返回数据库的类型信息odbc_longreadlen函数:设定传回栏的最大值odbc_num_fields函数:获取字段数目odbc_num_rows函数:获取传回的列数目odbc_primarykeys函数:返回列的名字作为表的主键odbc_procedurecolumns函数:返回检索过程的参数信息odbc_procedures函数:获取存在于特定数据源中的进程信息odbc_result_all函数:传回HTML表格信息odbc_result函数:获取结果数据odbc_specialcolumns函数:返回一个表中在传送更新时可以自动更新的列odbc_statistics函数:获取表的状态及其索引odbc_tableprivileges函数:列出表格和每个表格关联的权限odbc_tables函数:获取特定数据库上的表的名称odbc_autocommit函数:开启或关闭自动更新odbc_binmode函数:设定二进制的数据处理方式odbc_next_result函数:检查下一个结果集是否可用odbc_setoption函数:调整ODBC设定。
ODBC函数讲解

ODBC 函数本节列出了ODBC 支持的标量函数。
您的数据库系统可能不全部支持这些函数。
请参见您的数据库系统的文档,了解支持哪些函数。
可以用下面的语法在SQL 语句中使用这些函数:{fn scalar-function}其中scalar-function 是下列各表中列出的函数之一。
例如:SELECT {fn UCASE(NAME)} FROM EMP字符串函数下表列出了ODBC 支持的字符串函数。
列出的字符串函数可使用下列参数:•string_exp 可以是列名、文字字符串或另一个标量函数的结果,其中基础数据类型为SQL_CHAR、SQL_VARCHAR 或SQL_LONGVARCHAR。
•start、length 和count 可以是另一标量函数的结果或是文字数字值,其中基础数据类型为SQL_TINYINT、SQL_SMALLINT 或SQL_INTEGER。
字符串函数是基于 1 的;也就是说,字符串的第一个字符为1。
字符串文字必须括在单引号内。
功能返回值ASCII(string_exp) string_exp最左边字符的ASCII 代码值,为整数。
BIT_LENGTH(string_exp) 字符串表达式的长度,以位为单位。
CHAR(code) code指定的ASCII 代码值代表的字符。
code应在0 到255 之间,否则返回值将取决于数据源。
CHAR_LENGTH(string_exp) 如果字符串表达式为字符数据类型,则以字符为单位返回字符串表达式的长度;否则,以字节为单位返回字符串表达式的长数字函数下表列出了ODBC 支持的数字函数。
列出的数字函数可使用下列参数:•numeric_exp可以是列名、数字文字或其它标量函数的结果,其中基础数据类型为SQL_NUMERIC、SQL_DECIMAL、SQL_TINYINT、SQL_SMALLINT、SQL_INTEGER、SQL_BIGINT、SQL_FLOAT、SQL_REAL 或SQL_DOUBLE。
ODBC

ODBC的体系结构(2)
用户的ODBC应用程序如何和数据库交互
ODBC API提供的接口函数 SQL
ODBC的体系结构(3)
驱动程序管理器(ODBC Driver Manager)的 主要作用
管理应用程序和驱动程序的通信 装载、管理驱动程序 管理和配置数据源
负责的主要文件
C:\winnt\system32\odbc32.dll
ODBC API(9)-SQLBindCol
StatementHandle:STMT句柄。 ColumnNumber:列的位置,从1开始计算。 ValueType:指明用于和参数绑定的C语言数据类型。 ParameterType:指明在存储过程中ODBC数据类型。 BufferLength:指明参数指针所指向的缓冲区的字节数 BufferLength 大小。对于字符串和结构需要指明大小,而对于普通的变 量如SQLINTEGER,SQLFLOAT等设置为0就可以了。 StrLen_or_IndPtr:返回拷贝的缓冲区的数据的字节数, 数值型数据为0,字符型数据为SQL_NTS。
ODBCAPI(9)-SQLGetData
得到当前记录的对应列值 SQLRETURN SQLGetData( SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValuePtr, SQLINTEGER BufferLength, SQLINTEGER * StrLen_or_IndPtr); SQLGetData和SQLBindCol的区别
添加数据源(2)
系统DSN和用户DSN区别 不同DBMS驱动程序的设置并不相同, 由DBMS自身提供 ODBC数据源配置过程.doc SQLServer的用户名和密码问题
11.3.1 ODBC API编程流程_Visual C++从入门到精通_[共4页]
![11.3.1 ODBC API编程流程_Visual C++从入门到精通_[共4页]](https://img.taocdn.com/s3/m/9ec5413d81c758f5f61f67e2.png)
240 由于SDK 包含了使用API 的必需资料,所以常把仅使用API 来编写Windows 应用程序的开发方式叫做“SDK 编程”。
而API 和SDK 是开发Windows 应用程序所必需的东西,所以其他编程框架和类库均以它们为基础,比如VCL 和MFC 。
11.3 ODBC API 编程本节视频教学录像:23分钟通过对本节的学习,你将学会如何通过ODBC 的API 函数对数据库进行访问。
11.3.1 ODBC API 编程流程用ODBC API 创建数据库应用程序的流程一般分为以下6步。
1. 连接数据源在使用ODBC 功能时必须先申请环境句柄,然后在环境句柄的基础上创建数据库连接,最后在数据连接的基础上执行SQL 语句。
因此,这一步须分配一个SQLHENV 类型的变量在ODBC 环境中做环境句柄使用,为数据源分配连接句柄,由ODBC API 函数SQLAllocConnect()申请连接句柄,用SQLConnect()把连接句柄与数据库连接。
此步可通过SQLSetConnectAttr()来设置连接属性。
该步用到的常用函数如下。
⑴ SQLALLocHandle()函数。
该函数用来申请句柄。
原型为:SQLRETURN SQLAllocHandle( SQLSMALLINT HandleType,SQLHANDLE InputHandle,SQLHANDLE * OutputHandlePtr);参数HandleType 的取值可以为SQL_HANDLE_ENV (环境句柄)、SQL_HANDLE_DBC (数据库连接句柄)或者SQL_HANDLE_STMT (SQL 语句句柄)。
InputHandle 为输入句柄,提 示:每次执行SQL 语句前都必须申请语句句柄,并且在执行完成后释放。
ODBC详解

下面对上述步骤做详细的介绍。
5.2.1步骤1:连接数据源
为了连接数据源,必须要建立一个数据源连接的环境句柄。通过调用SQLAllocEnv函数实现对环境句柄的分配,在ODBC 3.0里,这个函数已经被SQLAllocHandle取代,但是熟悉ODBC API的开发人员还是习惯用这个函数建立环境句柄,因为VC++开发平台有一个映射服务,这个服务将程序代码对函数SQLAllocEnv的调用转向对函数SQLAllocHandle的调用。
通过调用如下代码可以通过应用程序动态创建数据源MYDB:
BOOL CreateDSN()
{
char* szDesc;
int mlen;
szDesc=new char[256];
sprintf(szDesc,"DSN=%s: DESCRIPTION=TOC support source: \
DBQ=%s: FIL=MicrosoftAccess: \
{
//执行其它操作
…………
}
retcode = :: SQLExecute (hstmt, (UCHAR*)pszSQL, SQL_NTS );
if(rcode == SQL_SUCCESS) // SQL语句执行成功
{
//执行其它操作
…………
}
5.2.4步骤4:获取结果集
SQL语句执行成功以后,应用程序必须准备接收数据,应用程序需要把SQL语句执行结果绑定到一个本地缓存变量里。但是SQL执行语句执行的结果并不是直接传送给应用程序,而是在应用程序准备接收数据的时候通知驱动程序其已经准备好接收数据,应用程序通过调用SQLFetch函数返回结果集的一行数据。
11.3.2 ODBC API编程实例_Visual C++从入门到精通_[共6页]
![11.3.2 ODBC API编程实例_Visual C++从入门到精通_[共6页]](https://img.taocdn.com/s3/m/324199cac281e53a5802ffed.png)
24411.3.2 ODBC API 编程实例本小节利用ODBC API 函数实现对数据库的访问。
【范例11-1】 利用ODBC API 函数设计应用程序,对11.2.2小节中的学生成绩管理数据库进行操作,该数据库已经注册为数据源test 。
学生成绩管理数据库有3张用户表,分别是学生表、成绩表和课程表。
第1步:创建工程ODBC_API利用前面介绍的内容,用MFC AppWizard 创建一个单文档,不基于数据库的工程ODBC_API 。
第2步:给工程ODBC_API 添加资源 ➊ 选择工作空间中的【ResourceView 】选项卡,展开【Menu 】节点,双击【IDR_MAINFRAME】,在编辑区双击【帮助】菜单后面的空白菜单,在【Caption 】文本框中输入“访问数据库”。
➋ 双击【访问数据库】的子菜单,设置【ODBC API 】的【ID 】为ID_ODBCAPI ,并将【访问数据库】菜单拖动到【帮助】菜单前面。
➌ 选择【View 】 【ClassWizard 】菜单,打开【MFC ClassWizard 】对话框,在【Message Maps 】选项卡中,在【Class name 】下拉列表中选择“CODBC_API View ”选项,在【Object IDs 】列表框中选择“ID_ODBCAPI ”选项,在【Messages 】列表框中选择“COMMAND ”选项,然后单击【Add Function】,在弹出的对话框中单击【OK 】按钮,再单击【OK 】按钮关闭【MFC Class Wizard 】对话框。
➍ 右击【ResourceView 】选项卡中的【Dialog 】节点,选择【Insert Dialog 】菜单,插入对话框IDD_DIALOG1。
在对话框上添加两个Static Text 控件、1个Edit Box 控件、1个List Box 控件和1个List Control 控件,均使用用默认的ID 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
integer namelen表名长度。
ref string sztype表的类型名。
integer typelen表的类型名长度。
返回值:integer ,成功时,返回0,失败返回值小于0。
函数功能:获取表的信息。
6、function integer SQLColumns(long hstmt,ref stringsztablequalifier,integer tablequalifierlen,ref string szowner,integer owerlen,ref string szname,integer namelen, ref string sztype,integer typelen)library "odbc32.dll"
参数:long hstmt SQL语句句柄
ref string sztablequalifier表的qualifier名。
integer tablequalifierlen表的qualifier名的长度。
ref string szowner表的所有者名。
integer owerlen表的所有者名长度。
szuid,integer uidlen,ref string szpwd,integer pwdlen) library "odbc32.dll"
function integer SQLDisconnect (long hdbc) library "odbc32.dll"
function integer SQLAllocStmt(long hdbc,ref long hstmt)library "odbc32.dll"
ODBC API
作者: moonbreak,出处:blog,责任编辑:唐小若,
2008-09-03 10:03
以下为ODBC API的常用十四个函数,先列出在PowerBuilder中外部函数引用声明:
function integer SQLAllocEnv(ref long phenv) library "odbc32.dll"
ref long actlen) library "odbc32.dll"
参数:long hstmt SQL语句句柄
integer colnum 1-5(是否有资格,拥有者名字、类型、注释)。
integer datatype 1-8,12,99。
ref string name程序字符串变量。
long maxlen可变。
Integng szpwd,用户口令。
Ref integer pwdlen,用户口令长度。
返回值:integer ,成功时,返回值大于0,失败返回值小于0。
函数功能:连接ODBC数据源,并返回连接句柄。
4、function integer SQLDisconnect (long hdbc) library"odbc32.dll"
存放在phenv中的值成为以后OBDC API函数调用的唯一标识符。
返回值:integer成功时,返回0,失败返回值小于0。
函数功能:获取ODBC环境句柄。
2、function integer SQLAllocStmt(long hdbc,ref long hstmt)library"odbc32.dll"
参数:long hdbc连接句柄。
返回值:integer ,成功时,返回0,失败返回值小于0。
函数功能:断开连接ODBC数据源。
5、function integer SQLTables(long hstmt,ref stringsztablequalifier,integer tablequalifierlen,ref string szowner,integer owerlen,ref string szname,integer namelen,ref string sztype,integer typelen)library "odbc32.dll"
ref string szpwd,integer pwdlen) library "odbc32.dll"
参数:long hstmt ,调用SQLAllocStmt()函数获取的句柄。
Ref string szdsn,ODBC数据源名。
Integer dsnlen ,ODBC数据源名的长度。
Ref string szuid ,用户帐号。
function integer SQLFreeStmt(long hstmt,integer Options)library "odbc32.dll"
1、function integer SQLAllocEnv(ref long phenv) library"odbc32.dll"
参数:ref long phenv引用传递的long类型参数,保存该函数返回的OBDC环境的句柄。
参数:long lenv ODBC环境句柄
返回值:integer ,成功时,返回0,失败返回值小于0。
函数功能:释放ODBC环境句柄。
11、function integer SQLFreeStmt(long hstmt,integer Options)library"odbc32.dll"
参数:long hstmt SQL语句句柄。
function integer SQLTables(long hstmt,ref string sztablequalifier,integer tablequalifierlen,ref string szowner,integer owerlen,ref string szname,integer namelen,
ref string sztype,integer typelen)library "odbc32.dll"
function integer SQLBindCol(long hstmt,integer colnum,integer datatype,ref string name,long maxlen,ref long actlen) library "odbc32.dll"
integer Options相关选项。
返回值:integer ,成功时,返回0,失败返回值小于0。
函数功能:释放SQL语句句柄。
12、function integer SQLDataSources(long henv,int fdirection,refstring szdsn, integer cbdsnmax,ref integer pcbdsn,ref stringszdescription,integer cbdescriptionmax,ref integer pcbdescription)library "odbc32.dll"
function integer SQLFetch(long hstmt)library "odbc32.dll"
function integer SQLError(long lenv,long hdbc,long hstmt,ref string sqlstate,ref long nativeerror,ref string errormsg,integer errormsgmax,ref integer errormsglen)library "odbc32.dll"
ref long actlen可变。
返回值:integer ,成功时,返回0,失败返回值小于0。
函数功能:绑定结果集。
8、function integer SQLFetch(long hstmt)library"odbc32.dll"
参数:long hstmt SQL语句句柄
返回值:integer ,成功时,返回0,失败返回值小于0。
参数:long hstmt SQL语句句柄
ref string sztablequalifier表的qualifier名。
integer tablequalifierlen表的qualifier名的长度。
ref string szowner表的所有者名。
integer owerlen表的所有者名长度。
函数功能:绑定结果集。
9、function integer SQLError(long lenv,long hdbc,long hstmt,ref stringsqlstate,ref long nativeerror,ref string errormsg,integer errormsgmax,ref integer errormsglen)library "odbc32.dll"
ref string sztype,integer typelen)library "odbc32.dll"
function integer SQLColumns(long hstmt,ref string sztablequalifier,integer tablequalifierlen,ref string szowner,integer owerlen,ref string szname,integer namelen,
function integer SQLFreeEnv(long henv) library "odbc32.dll"
function integer SQLDataSources(long henv,int fdirection,ref string szdsn,&