SQL Anywhere 提供了 SQL Anywhere C API 的低层接口。以下几节中介绍的 API 允许快速开发 SQL 应用程序。要演示 Ruby 应用程序开发能力,可考虑以下 Ruby 程序示例。该程序装载 SQL Anywhere Ruby 扩展,连接到 demo 数据库,列出 Products 表中的列值,断开连接并终止。
begin require 'rubygems' gem 'sqlanywhere' unless defined? SQLAnywhere require 'sqlanywhere' end end api = SQLAnywhere::SQLAnywhereInterface.new() SQLAnywhere::API.sqlany_initialize_interface( api ) api.sqlany_init() conn = api.sqlany_new_connection() api.sqlany_connect( conn, "DSN=SQL Anywhere 11 Demo" ) stmt = api.sqlany_execute_direct( conn, "SELECT * FROM Products" ) num_rows = api.sqlany_num_rows( stmt ) num_rows.times { api.sqlany_fetch_next( stmt ) num_cols = api.sqlany_num_cols( stmt ) for col in 1..num_cols do info = api.sqlany_get_column_info( stmt, col - 1 ) unless info[3]==1 # Don't do binary rc, value = api.sqlany_get_column( stmt, col - 1 ) print "#{info[2]}=#{value}\n" end end print "\n" } api.sqlany_free_stmt( stmt ) api.sqlany_disconnect(conn) api.sqlany_free_connection(conn) api.sqlany_fini() SQLAnywhere::API.sqlany_finalize_interface( api ) |
此 Ruby 程序输出的结果集的前两行如下所示:
ID=300 Name=Tee Shirt Description=Tank Top Size=Small Color=White Quantity=28 UnitPrice=9.00 ID=301 Name=Tee Shirt Description=V-neck Size=Medium Color=Orange Quantity=54 UnitPrice=14.00 |
以下几节介绍每个支持的函数。
sqlany_affected_rows
sqlany_bind_param
sqlany_clear_error
sqlany_client_version
sqlany_commit
sqlany_connect
sqlany_describe_bind_param
sqlany_disconnect
sqlany_error
sqlany_execute
sqlany_execute_direct
sqlany_execute_immediate
sqlany_fetch_absolute
sqlany_fetch_next
sqlany_fini
sqlany_free_connection
sqlany_free_stmt
sqlany_get_bind_param_info
sqlany_get_column
sqlany_get_column_info
sqlany_get_next_result
sqlany_init
sqlany_new_connection
sqlany_num_cols
sqlany_num_params
sqlany_num_rows
sqlany_prepare
sqlany_rollback
sqlany_sqlstate
列类型
本地列类型
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |