当前位置:学学看123知识中心电脑教学数据库教程使用 SQL pass-through» 正文

使用 SQL pass-through

[06-11 18:16:38]   来源:http://www.xxk123.com  数据库教程   阅读:8942

导读:然后构造一个 Insert 来添加新记录到 Adult 表。从服务器获取的 @@Identity 值用于该 Insert 中来正确地连接 Adult 和 Member 中的记录。* 添加新成员到 adult 表lcSQL = "Insert adult (member_no, street, city, state, " + ; "zip, phone_no, expr_date) " + ; "Values (" + AllTrim(Str(nNewMemberID)) + ", '" +; AllTrim(ThisForm.txtStreet.Value) + ; "', '" + ; AllTrim(ThisForm.txtCity.Value) + ; "', '

使用 SQL pass-through,标签:sql数据库教程,access数据库教程,http://www.xxk123.com

然后构造一个 Insert 来添加新记录到 Adult 表。从服务器获取的 @@Identity 值用于该 Insert 中来正确地连接 Adult 和 Member 中的记录。
* 添加新成员到 adult 表
lcSQL = "Insert adult (member_no, street, city, state, " + ;
                      "zip, phone_no, expr_date) " + ;
        "Values (" + AllTrim(Str(nNewMemberID)) + ", '" +;
             AllTrim(ThisForm.txtStreet.Value) + ;
             "', '" + ;
             AllTrim(ThisForm.txtCity.Value) + ;
             "', '" + ;
             AllTrim(ThisForm.txtState.Value) + ;
             "', '" + ;
             AllTrim(ThisForm.txtZip.Value) + ;
             "', '" + ;
             AllTrim(ThisForm.txtPhoneNumber.Value) + ;
             "', "'" + ;
             TToC(DToT(GoMonth(Date(),12))) + "' )"
If SQLExec(ThisForm.nHandle, lcSQL) < 0
<略去的代码>

如前所述,如果一切正常,则提交事务处理否则回滚。

保存修改


保存已存在的成员的信息的代码在表单的 UpdateMember 方法中。要保存信息,发送一条 Update 语句到服务器。表单中的更新语句如下:

Update <table> Set <column1> = <value1>,
                   <column2> = <value2>,
                   等等...

这相当地直截了当,虽然构造一个要发送到服务器的 Update 语句看起来有些庞大。你知道表的字段名和表单上的控件中的值。你可以一个字段接一个字段地生成 Update 的 Set 部分。但是,象上面这样书写可以使程序更清晰。你也可能不想浪费 SQL Server 的时间来更新没有修改的字段。这里的代码使用了 OldVal() 函数,使用游标缓存使这样做变为可能,要将游标中各字段的值与原始的值进行比较。只有当它被修改了时才让它成员 Update 语句的一部分。另外,远程视图自动地这样做了。
lcSQL = ""
* 更新该成员到 member 表
If c_member.firstname <> OldVal("c_member.firstname")
  lcSQL = lcSQL + "firstname = '" + ;
          AllTrim(ThisForm.txtFirstName.Value) + "', "
Endif
If c_member.lastname <> OldVal("c_member.lastname")
  lcSQL = lcSQL + "lastname = '" +;
          AllTrim(ThisForm.txtLastName.Value) + "', "
Endif
<略去的代码>

如果 Member 表中没有字段被修改,变量 lcSQL 中将没有内容且不会保存信息到表中。如果有要保存的数据,构造剩下的 Update 语句并发送到服务器。

上一页  [1] [2] [3] [4] [5]  下一页


Tag:数据库教程sql数据库教程,access数据库教程电脑教学 - 数据库教程

Copyright 学学看123 All Right Reserved.

1 2 3 4 5 6 7 8 9 10