技术开发 频道

在VFP上使用DM数据库

  这里最重要的就是cSQLCommand参数,它就是一个DM数据库可以识别的SQL字符串。正如你所想,你可以直接传送SQL字符串,或者你也可以用拼接字符串的方法,构造动态SQL语句,来使用DM数据库。

  例如:

  1. SQLEXEC(hdl_conn,"CREATE TABLE TBL_VFP_DM (C1 INTEGER,C2

  VARCHAR(10),C3 VARCHAR(50))")

  2. SQLEXEC(hdl_conn,"INSERT INTO TBL_VFP_DM

  VALUES(1,'ANDY','ANDY IS NO1')")

  3. Local id,name,info,sqlstr

  Id=id

  Name=”ROCK”

  Info=”ROCK is test”

  Sqlstr=”insert into TBL_VFP_DM

  VALUES(”+val(id)+”,’”+name+”’,’”+info+””’)

  SQLEXEC(hdl_conn, Sqlstr)

  4. SQLEXEC(hdl_conn,"SELECT C1 AS ID,C2 AS NAME,C3 AS CONTENT FROM TBL_VFP_DM", "mycursor")

  2) 使用VFP的SQL访问DM数据库

  使用上述方法已经可以访问,并且使用DM数据库了,但是,这样的话并没有体现出VFP的强项----操纵数据,实际上,我们可以有更好的方法,来让VFP使用DM。

  再看一下SQLEXEC()函数原型

  SQLEXEC(nConnectionHandle, [cSQLCommand, [cCursorName]])

  在cSQLCommand参数为SELECT语句的时候DM数据库会返回给用户一个结果集,我们可以使用函数的第三个参数 cCursorName,给这个结果集命名,它在VFP中被称为游标,其实就是相当于DM数据库的表映射为VFP里的一张虚拟表。有了它,我们就可以直接使用VFP的语法对这张虚拟表进行操作,就像操作VFP自己的表一样,而且以上进行的操作都会如实的反映到真实的DM数据库中。

  所以我们可以这样获得游标

  SQLEXEC(hdl_conn,"SELECT C1 AS ID,C2 AS NAME,C3 AS CONTENT FROM TBL_VFP_DM", "mycursor")

  这里为了更好的标明字段的意思,我们对C1,C2,C3字段分别使用了别名ID,NAME,CONTENT

0
相关文章