Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » 使用 SQL Anywhere 编程简介 » 在应用程序中使用 SQL » 准备语句

 

如何使用预准备语句

本节简短概述如何使用预准备语句。总的过程都是相同的,但细节方面将因接口而异。通过将不同接口中使用预准备语句的方式加以比较,即可看出这一点。

♦  使用预准备语句(通用)
  1. 准备语句。

  2. 绑定将在语句中保存值的参数。

  3. 给语句中的绑定参数赋值。

  4. 执行语句。

  5. 根据需要重复执行步骤 3 和 4。

  6. 完成之后删除语句。在 JDBC 中,Java 垃圾回收机制会删除语句。

♦  使用预准备语句 (ADO.NET)
  1. 创建一个保存语句的 SACommand 对象。

    SACommand cmd = new SACommand(
         "SELECT * FROM Employees WHERE Surname=?", conn );
  2. 为语句中的参数声明数据类型。

    使用 SACommand.CreateParameter 方法。

  3. 使用 Prepare 方法准备此语句。

    cmd.Prepare();
  4. 执行语句。

    SADataReader reader = cmd.ExecuteReader();

    有关使用 ADO.NET 准备语句的示例,请参见 samples-dir\SQLAnywhere\ADO.NET\SimpleWin32 中的源代码。

♦  使用预准备语句 (ODBC)
  1. 使用 SQLPrepare 准备语句。

  2. 使用 SQLBindParameter 绑定语句参数。

  3. 使用 SQLExecute 执行语句。

  4. 使用 SQLFreeStmt 删除语句。

    有关使用 ODBC 准备语句的示例,请参见 samples-dir\SQLAnywhere\ODBCPrepare 中的源代码。

    有关 ODBC 预准备语句的详细信息,请参见 ODBC SDK 文档及执行预准备语句

♦  使用预准备语句 (JDBC)
  1. 使用连接对象的 prepareStatement 方法准备语句。此步骤返回预准备语句对象。

  2. 使用预准备语句对象的适当 setType 方法设置语句参数。这里的 Type 是指派的数据类型。

  3. 使用预准备语句对象的适当方法执行语句。对于插入、更新和删除,使用 executeUpdate 方法。

    有关使用 JDBC 准备语句的示例,请参见源代码文件 samples-dir\SQLAnywhere\JDBC\JDBCExample.java

    有关在 JDBC 中使用预准备语句的详细信息,请参见使用预准备语句进行更有效的访问

♦  使用预准备语句(嵌入式 SQL)
  1. 使用 EXEC SQL PREPARE 语句准备语句。

  2. 给语句中的参数赋值。

  3. 使用 EXE SQL EXECUTE 语句执行语句。

  4. 使用 EXEC SQL DROP 语句释放与该语句关联的资源。

    有关嵌入式 SQL 预准备语句的详细信息,请参见PREPARE 语句 [ESQL]

♦  使用预准备语句 (Open Client):
  1. 使用带 CS_PREPARE 类型参数的 ct_dynamic 函数准备语句。

  2. 使用 ct_param 设置语句参数。

  3. 使用带 CS_EXECUTE 类型参数的 ct_dynamic 执行语句。

  4. 使用带 CS_DEALLOC 类型参数的 ct_dynamic 释放与该语句关联的资源。

    有关在 Open Client 中使用预准备语句的详细信息,请参见在 Open Client 应用程序中使用 SQL