VF与SQL怎么连接呢?

LIXIV998 2003-05-27 10:16:48
我用VF做界面,SQL做后台,怎么才能连接呢/


用什么方法呢?

具体给我说下要用那些语句呢?
...全文
317 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinlzy 2003-06-30
  • 打赏
  • 举报
回复
是啊,用odbc建立一个数据源,然后用SQLCONNECT()调用连接,返回一个句炳,以后就根据这个句炳用SQLEXEC()运行SQL语句:)
ggdw 2003-06-29
  • 打赏
  • 举报
回复
关注
daniel2008 2003-06-29
  • 打赏
  • 举报
回复
用ODBC吧.建立一系统数据源.在表单中的数据环境中添 加一临时表.选择刚建立的数据源即可.再设置相关的SERVER表
hondausa2000 2003-05-27
  • 打赏
  • 举报
回复
就是只用VFP做界面吗?

然后用SQL做数据库吗?
hondausa2000 2003-05-27
  • 打赏
  • 举报
回复
DEFINE CLASS MainDataClass AS CURSORADAPTER
DATASOURCETYPE="ODBC"
DATASOURCE=SQLCONNECT([jxccon],.T.)
USEDEDATASOURCE= .T.
FETCHSIZE=-1
MAXRECORDS=-1
FETCHMEMO= .T.
SENDUPDATES= .F.
BufferModeOverride = 5
nReccount=0
PROCEDURE INIT
THIS.CURSORFILL(.t.,.f.)
ENDPROC

*- 返回记录数
PROCEDURE nReccount_access AS INTEGER
LOCAL nRetu AS INTEGER
nRetu = 0
IF THIS.isReccount()
nRetu = RECCOUNT()
ENDIF
THIS.nReccount = nRetu
RETURN nRetu

ENDPROC

*- 反回是否有记录存在
PROCEDURE isReccount AS Boolean
LOCAL lRetu AS Boolean
SELECT (THIS.ALIAS)
IF RECCOUNT() =0
lRetu = .F.
ELSE
lRetu = .T.
ENDIF
RETURN lRetu
ENDPROC

*- 更新
PROCEDURE UPDATE AS Boolean
LOCAL lRetu AS Boolean
THIS.SendUpdates = .T.
SELECT (THIS.ALIAS)

lRetu=TABLEUPDATE(.T.)
THIS.SendUpdates = .F.
IF lRetu = .F.
LOCAL iError
DIMENSION iError(1)
AERROR(iError)
MESSAGEBOX([错原因:]+CHR(13)+ALLTRIM(iError(2)),16,"更新失败")
RELEASE iError
ENDIF
RETURN lRetu
ENDPROC


ENDDEFINE

DEFINE CLASS getbh AS MainDataClass
ALIAS=[bh]
PROCEDURE INIT
NODEFAULT
ENDPROC

PROCEDURE getbh (tcName AS STRING ) AS STRING
THIS.SELECTCMD =[execute getbh ']+ALLTRIM(UPPER(tcName))+[']
THIS.CURSORFILL()
LOCAL cRetu AS STRING
cRetu = ALLTRIM(UPPER(tcName)) +DTOC(TTOD(bh.rq),1)+REPLICATE("0",3-LEN(ALLTRIM(STR(bh.ID))))+ALLTRIM(STR(bh.ID))
USE IN bh
RETURN cRetu
ENDPROC

ENDDEFINE


*- 供货商
DEFINE CLASS ghs AS MainDataClass
ALIAS=[ghs]
TABLES=[ghs]
SELECTCMD =[select * from ghs order by ghsid]
UPDATENAMELIST =[GHSID ghs.GHSID, GHSJC ghs.GHSJC, GHSQC ghs.GHSQC, LXR ghs.LXR, TEL ghs.TEL, FAX ghs.FAX, SJ ghs.SJ, BP ghs.BP, YB ghs.YB, DZ ghs.DZ, YH ghs.YH, ZH ghs.ZH, GSDJ ghs.GSDJ, NSH ghs.NSH, YWY ghs.YWY, HZFS ghs.HZFS, BZ ghs.BZ]
KEYFIELDLIST =[GHSID]
UPDATABLEFIELDLIST =[GHSID, GHSJC, GHSQC, LXR, TEL, FAX, SJ, BP, YB, DZ, YH, ZH, GSDJ, NSH, YWY, HZFS, BZ]
CURSORSCHEMA=[GHSID C(4), GHSJC C(20), GHSQC C(30), LXR C(8), TEL C(12), FAX C(12), SJ C(12), BP C(20), YB C(6), DZ C(30), YH C(30), ZH C(20), GSDJ C(20), NSH C(20), YWY C(8), HZFS C(4), BZ C(40), YE N(12,2)]
PROCEDURE INIT
NODEFAULT
ENDPROC

PROCEDURE new
*THIS.SELECTCMD =[select * from ghs where ghsid='--']
THIS.CURSORFILL(.t.,.t.)
APPEND BLANK IN ghs

ENDPROC

PROCEDURE EDIT(tcNo AS STRING )
THIS.SELECTCMD =[select * from ghs where ghsid=']+ALLTRIM(UPPER(tcNo))+[']
THIS.CURSORFILL(.t.)
ENDPROC
*- 查询
PROCEDURE cx(tcNo AS STRING)
THIS.SELECTCMD =[select * from ghs where ghsid like ']+ALLTRIM(UPPER(tcNo))+[%' order by ghsid ]
THIS.CURSORFILL(.t.)
ENDPROC
ENDDEFINE
jiaxingxing 2003-05-27
  • 打赏
  • 举报
回复
如果你不会用api动态创建数据源
就用windows 控制面板的odbc数据源建立连接
whint 2003-05-27
  • 打赏
  • 举报
回复
用odbc具体的可以参考vfp的帮助

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧