
VB可将Sql结构化查询语句赋值Ado(ActiveX 数据对象)或ADO Data 控件,访问和 *** 作数据库。
ADO (ActiveX 数据对象),这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft 和非 Microsoft 的技术更好的集成;为本地和远程数据数据提供的通用接口;可远程访问的和断开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
ADO Data 控件, 这是一种新的、OLEDB 识别的数据源控件,其功能与内部的 Data 控件和 Remote Data 控件十分相似,通过这种方式允许用户用最少的代码来创建数据库应用程序。
Visual Basic 60 中,已经可以将任何 ADO/OLE DB 数据源绑定到任何 ADO/OLE DB 数据使用者上。在运行时,可以设置控件的 DataSource 属性来将控件动态地绑定到数据源。可以创建用作数据源和数据使用者的类,并且通过新的 BindingsCollection 对象将这些类绑定在一起。可以创建与 ADO 数据控件相似的、用作数据源的用户控件。还可以创建与 DataGrid 控件相似的、复杂绑定的用户控件。
以下是经ADO (ActiveX 数据对象)访问Access数据库的实例代码:
Dim cnn As New ConnectionDim rs As New Recordset
Dim sql As String
Dim ARR
cnnOpen "Provider=MicrosoftJetOLEDB40;Data Source=C:\wdOldmdb;Persist Security Info=False"
sql = "select 故障名称 from guzhang_bm"
rsOpen sql, cnn
Combo1Text = "故障名称"
Do While Not rsEOF
Combo1AddItem rs("故障名称")
rsMoveNext '打开表
Loop
rsClose
cnnClose
以下是使用ADO Data 控件访问Access数据库德实例代码:
Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\wdmdb;Persist Security Info=False"Adodc1RecordSource = "select from jishijilu" ' where shijian like'%8112%' And gyh_riqi like'%10%'"
Adodc1Refresh
Set MSHFlexGrid1DataSource = Adodc1
MSHFlexGrid1Row = 1
MSHFlexGrid1ColSel = MSHFlexGrid1Cols - 1
Option Explicit
'需要添加一个webbrowser控件 和一个按钮
'引用两个库,在菜单的工程-引用里,找到Microsoft HTML object library和 Microsoft activex data object 25/26两个库,然后粘贴如下代码
'不明白的百度HI我
Private Sub Command1_Click()
WebBrowser1Navigate "http://wwwszsecn/main/disclosure/news/xxlb/indexshtmltxtStockCodeORname="
End Sub
Private Sub Form_Load()
WebBrowser1Stop
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim doc As MSHTMLHTMLDocument
Set doc = WebBrowser1Document
Dim table As MSHTMLHTMLTable
Dim lrow As MSHTMLHTMLTableRow
Dim cel As MSHTMLHTMLTableCell
Set table = docgetElementById("REPORTID_tab1")
Dim Conn As ADODBConnection
Dim FLD() As String
Set Conn = CreateObject("ADODBConnection")
Connopen "provider=microsoftjetoledb40;data source=d:\DB1MDB"
Set lrow = tablerows(0)
ReDim FLD(0 To lrowcellslength) As String
Dim i As Integer
Dim tbname As String
Dim sql As String
tbname = InputBox("输入导入数据库的新建的表的名字", "table1")
For i = 0 To lrowcellslength - 1
FLD(i) = Replace(Replace(Replace(lrowcells(i)innerText, "/", ""), "(", ""), ")", "")
sql = sql & FLD(i) & " varchar(255),"
Next i
sql = Left(sql, Len(sql) - 1)
ConnExecute "create table " & tbname & " (" & sql & ")"
Dim j As Integer
sql = ""
For i = 0 To lrowcellslength - 1
sql = sql & FLD(i) & ","
Next i
sql = Left(sql, Len(sql) - 1)
Dim vlist As String
For i = 1 To tablerowslength - 1
vlist = ""
Set lrow = tablerows(i)
For j = 0 To lrowcellslength - 1
vlist = vlist & "'" & lrowcells(j)innerText & "',"
Next j
vlist = Left(vlist, Len(vlist) - 1)
ConnExecute "insert into " & tbname & " (" & sql & ") values (" & vlist & ")"
Next i
ConnClose
Set Conn = Nothing
End Sub
保存按钮是在网页里,还是程序里
你可用
MsgBox WebBrowser1DocumentAlltags("table")Item(表序号,从0开始)RowsItem(行序号)CellsItem(列序号)innerText
这语句来获取表格里的值。“表序号,从0开始”若只有一个,一般填0;
行序号,列序号从零开始,你自己一个一个更改
例如:
MsgBox WebBrowser1DocumentAlltags("table")Item(0RowsItem(0)CellsItem(0)innerText
MsgBox WebBrowser1DocumentAlltags("table")Item(0RowsItem(0)CellsItem(1)innerText
MsgBox WebBrowser1DocumentAlltags("table")Item(0RowsItem(1)CellsItem(1)innerText
用text1=split(提取的代码,"sortcol")拆分出数组,再for循环拆分元素text2=split(text1(i),"alignright">"),最后每个left(text2(1),3)就是你要的结果
例如一个表INFO的字段有:user,password,question,answer
Dim cn As New ADODBConnection '定义数据库的连接
Dim rs As New ADODBRecordset
''''
这里连接数据库
''''
'查询语句
SQL="select from INFO where user='账号"
rsopen SQL
rsmovefirst
pw=rsFields(1)Value '''这就是密码
或者
pw=rsFields("password")Value '''这就是密码
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)