Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19002041
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 数据库开发技术

2008-05-28 08:58:34

  只 需 设 置 两 个 TRANSACTION对 象 即 可 。
    以 下 为 同 时 连 接 SQL SERVER和 DBF数 据 库 的 示 例 :
    连 接 SQL SERVER:
    SetPointer(HourGlass!)
    //窗 口 居 中
    f_center(this)
    //根 据 sgselect 连 接 不 同 的 套
    string sSelect
    string temp
    sSelect="d_gdzc"+sgselect
    SQLCA.DbParm = ProfileString(gzINIFile,"Database","DbParm","")
    SQLCA.DBMS = ProfileString(gzINIFile,"Database","DBMS","")
    SQLCA.Database = sSelect
    SQLCA.ServerName = ProfileString(gzINIFile,"Database","ServerName","")
    SQLCA.LogId = "sa"
    RegistryGet("HKEY_CURRENT_USER\software\microsoft\windows\currentversion\explorer\g", "a", RegString!,temp )
    f_anencrypt (temp,SQLCA.LogPass)
    SQLCA.AutoCommit = false
    SQLCA.Lock = ProfileString(gzINIFile,"Database","Lock","")
    connect using sqlca;
    
    IF SQLCA.SQLCode <> 0 THEN
    MessageBox("联 接 失 败 ", &
    "不 能 联 接 数 据 库 !(错 误 信 息 :" + SQLCA.SQLErrText+")")
    setpointer(Arrow!)
    RETURN
    halt close
    END IF
    
    定 义 函 数 :
    fuction f_connectdbf(string sdbparm) return any
    string nul //用 于 生 成 null值
    transaction trans_name
    trans_name=create transaction
    trans_name.DBMS = "ODBC"
    //trans_name.Database = "ZWDBF"
    //trans_name.LogId =
    //trans_name.LogPass =
    trans_name.AutoCommit = False
    trans_name.DBParm = sDBParm
    //trans_name.Lock =ProfileString(gzINIFile,"Database","Lock","")
    //trans_name.DbParm =ProfileString(gzINIFile,"Database","DbParm","")
    CONNECT USING trans_name;
    
    IF trans_name.SQLCode <> 0 THEN
    MessageBox("联 接 失 败 ", &
    "不 能 联 接 财 务 数 据 库 ! 请 检 查 财 务 路 径 是 否 正 确 。 (错 误 信 息 :" + SQLCA.SQLErrText+")")
    rollback;
    return setnull(nul)
    else
    return trans_name
    END IF
    
    连 接 FOXPRO数 据 库 ( 同 时 连 接 第 二 个 数 据 库 , 还 可 以 连 接 第 三 、 第 四 个 ) :
    openwithparm(w_disp,"正 在 联 接 DBF卡 片 数 据 库 ...",parent)
    transaction sqldbf
    //用 SQLDBF连 接 财 务 ( 固 资 ) 数 据 库
    sqldbf=f_connectdbf("Connectstring='DSN=gzdbf'")
    //判 断 是 否 联 接 成 功
    if isnull(sqldbf) then
    Messagebox("出 错 ","联 接 DBF固 定 资 产 数 据 库 出 错 ! ")
    end if
阅读(803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~