时间: 2021-07-31 作者:daque
我部分由于常常作少许数据库上面的步调,对于步调间怎样与数据库举行接口的题目之烦是深有领会,由于vb在数据库链接的功夫,普遍是静态,即数据库寄存的路途是恒定的,如用vb的data,adodc,dataenvironment 比及作数据库链接时,即使寄存数据库的路途被变换的话,就会找不到路经,真是一个更加烦的事。笔者的处置本领是运用app.path 来处置这个题目。 一、用data控件举行数据库链接,不妨如许:在form_load()进程中放入:private form_load()dim str as string 解释:设置str = app.pathif right(str, 1) <> "\" thenstr = str + "\"end ifdata1.databasename=str & "\数据库名"data1.recordsource="数据表名"data1.refreshsub end这几句话的意为,翻开当出息序运转的目次下的数据库。你只有保护你的数据库在你步调地方的目次之下就行了。二、运用adodc(ado data control)举行数据库链接:private form_load ()dim str as string 解释:设置str = app.pathif right(str, 1) <> "\" thenstr = str + "\"end ifstr = "provider=microsoft.jet.oledb.3.51;persist security info=false;data source=" & str & "\tsl.mdb"adodc1.connectionstring = stradodc1.commandtype = adcmdtextadodc1.recordsource = "select * from table3"adodc1.refreshend sub三、运用dataenvironment举行数据库链接可在进程中放入:on error resume nextif dataenvironment1.rscommand1.state <> adstateclosed thendataenvironment1.rscommand1.close 解释:即使翻开,则封闭end if解释:i = inputbox("请输出伙伴编号:", "输出")解释:if i = "" then exit subdataenvironment1.connection1.open app.path & "\userdatabase\tsl.mdb"dataenvironment1.rscommand1.open "select * from table3 where 编号=解释:" & i & "解释:"解释:set datareport2.datasource = dataenvironment1解释:datareport2.datamember = "command1"解释:datareport2.showend sub四、运用ado(activex data objects)举行编制程序:创造贯穿:dim conn as new adodb.connectiondim rs as new adodb.recordsetdim strstr = app.pathif right(str, 1) <> "\" thenstr = str + "\"end ifstr = "provider=microsoft.jet.oledb.3.51;persist security info=false;data source=" & str & "\tsl.mdb"conn.open strrs.cursorlocation=aduseclientrs.open "数据表名",conn,adopenkeyset.adlockpessimistic用完之后封闭数据库:conn.closeset conn=nothing