重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Public myconn As New ADODB.Connection
成都创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业绵阳服务器托管报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
Public myrecord As New ADODB.Recordset
Public Sub main()
gdatabasepassword = 数据库密码
gdatabaseusrname = 数据库用户名
gdatabasename = 表名
gipstr = 服务器IP地址
connstring = "Provider=SQLOLEDB.1;Password=" gdatabasepassword ";Persist Security Info=True;User ID=" gdatabaseusrname ";Initial Catalog=" gdatabasename ";Data Source=" gipstr
Set myconn = New ADODB.Connection
myconn.ConnectionString = connstring
myconn.Open
至此数据库就连接上了,可以访问指定的数据表了
窗体文件里这样写
Private Sub Form_Load()
Dim mysql As String
'On Error GoTo errortrap2
connstring = "Provider=SQLOLEDB.1;Password=" gdatabasepassword ";Persist Security Info=True;User ID=" gdatabaseusrname ";Initial Catalog=" gdatabasename ";Data Source=" gipstr
'Debug.Print connstring
Set myconn = New ADODB.Connection
mysql = "select data , BedCode,CODE,PatientName,UpdateTime from MachineData "
'mysql = "select identitycard,sex from patient where name='" List1.Text "'"
myconn.ConnectionString = connstring
myconn.Open
Set myrecord = New ADODB.Recordset
'myrecord.Open "patient", myconn, adOpenDynamic, adLockReadOnly
myrecord.Open mysql, myconn, adOpenDynamic, adLockReadOnly
With myrecord
While Not .EOF()
List1.AddItem .Fields("CODE") "--" .Fields("BedCode") "--" .Fields("PatientName")
List2.AddItem .Fields("DATA")
List3.AddItem .Fields("UpdateTime")
.MoveNext
Wend
End With
GoTo normalend2:
errortrap2: MsgBox "严重错误!!!"
End
normalend2:
myrecord.Close
'''''''''''''''''''''''''''''''''
End Sub
在系统中建立ADO公共查询模块
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset '执行SQL语句并返回Recordset对象
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open CONN
'打开连接
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) _
" 查询成功"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" rst.RecordCount _
" 条记录 "
'获取记录的条数
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " _
Err.Description
Resume ExecuteSQL_Exit
End Function
然后再应用模块中就可以使用
Dim txtSQL As String
Dim mrc As ADODB.Recordset
Dim MsgText As String
txtSQL = "select * from ... "
Set mrc = ExecuteSQL(txtSQL, MsgText)
查询了
类模块程序有错误,加上下面两句就行:
Public Sub openconn()
If sqlconn Is Nothing = True Then
Set sqlconn = New ADODB.Connection
Set rs = New ADODB.Recordset '=================
End If
If sqlconnstate 1 Then
sqlconn.Open sconn
End If
End Sub
Public Sub closeconn()
If sqlconn.State = 1 Then
sqlconn.Close
End If
End Sub
Public Function runselectsql(ByVal ssqlstring As String) As ADODB.Recordset
Me.openconn
rs.Open ssqlstring, sqlconn, adOpenStatic, adLockReadOnly '/*这里为出现错误91的地方*/
Set runselectsql = rs '=================
End Function
mdf,不能直接用,要带上sqlserver才能用
在sqlserver附加上这个mdf就行了,
连接句不变
这两门课都是关于软件开发的或者说程序开发的,在计算机专业这是
专业课,而且很重要,sql我不知你指的是sql语言还是微软的sql server 数据库,我假设为前者,那么sql就是关于数据库开发的语言,vb是传统的程序开发语言,从这一点看,它们都是计算机开发语言,都是用来写程序的. 只是它们面对的方向不同,很久以前的程序都很小,要处理的数据也很少,一般存到文件了里就可以了,而现在的程序不象以前,现在的程序要处理的数据十分庞大,动不动就几万至几十万条,这个时候,就需要把数据分类出来,由一个专门的软件:数据库软件来管理,sql就是数据库软件里用的操作数据的语言,而vb就是开发我们通常说的程序的一们语言,与他一个层次的还有c++,java等,而sql是各个数据库管理软件都遵守的标准语言,不论是oracle,sqlserver,还是其他的,都能可以执行sql语句,只是这些数据库管理软件sql的基础上扩充了一些功能而已,