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

SQL Anywhere 11.0.1 (中文) » UltraLite - C 及 C++ 编程 » 应用程序开发 » 使用 UltraLite C++ API 开发应用程序 » 使用 SQL 访问数据

 

数据操作:Insert、Delete 和 Update

使用 UltraLite,可以使用 ExecuteStatement 方法(PreparedStatement 类的一个成员)执行 SQL 数据操作。

请参见UltraLite_PreparedStatement 类

引用预准备语句中的参数

UltraLite 使用 ? 字符表示查询参数。对于任何 INSERT、UPDATE 或 DELETE 语句,每个 ? 都是根据其在预准备语句中的顺序位置引用的。例如,第一个 ? 引用为参数 1,第二个引用为参数 2。

♦  插入一行
  1. 声明 PreparedStatement。

    PreparedStatement * prepStmt;

    请参见PrepareStatement 函数

  2. 将一条 SQL 语句指派给 PreparedStatement 对象。

    prepStmt = conn->PrepareStatement( UL_TEXT("INSERT INTO MyTable(MyColumn) values (?)") );
  3. 为该语句指派输入参数值。

    以下代码显示一个字符串参数。

    prepStmt->SetParameter( 1, UL_TEXT("newValue") );
  4. 执行预准备语句。

    返回值表示受该语句影响的行数。

    ul_s_long rowsInserted;
    rowsInserted = prepStmt->ExecuteStatement();
  5. 提交更改。

    conn->Commit();
♦  删除一行
  1. 声明 PreparedStatement。

    PreparedStatement * prepStmt;
  2. 将一条 SQL 语句指派给 PreparedStatement 对象。

    ULValue sqltext( );
    prepStmt = conn->PrepareStatement( UL_TEXT("DELETE FROM MyTable WHERE MyColumn = ?") );
  3. 为该语句指派输入参数值。

    prepStmt->SetParameter( 1, UL_TEXT("deleteValue") );
  4. 执行该语句。

    ul_s_long rowsDeleted;
    rowsDeleted = prepStmt->ExecuteStatement();
  5. 提交更改。

    conn->Commit();
♦  更新一行
  1. 声明 PreparedStatement。

    PreparedStatement * prepStmt;
  2. 将一条语句指派给 PreparedStatement 对象。

    prepStmt = conn->PrepareStatement( 
        UL_TEXT("UPDATE MyTable SET MyColumn1 = ? WHERE MyColumn1 = ?") );
  3. 为该语句指派输入参数值。

    prepStmt->SetParameter( 1, UL_TEXT("newValue") );
    prepStmt->SetParameter( 2, UL_TEXT("oldValue") );
  4. 执行该语句。

    ul_s_long rowsUpdated;
    rowsUpdated = prepStmt->ExecuteStatement();
  5. 提交更改。

    conn->Commit();