阅读:1549回复:0
请教:vb+sql 开发中,数据库怎么连接?
<P>我的一个小程序,vb+SQL 连接数据库后运行时,老是说有错。帮帮忙各位!</P>
<P>Private Sub Command8_Click()<BR>Dim Sqltext As String<BR>Dim MsgString As String<BR>Dim mrc As ADODB.Recordset<BR>If DataCombo1.text = "" Then<BR> MsgBox "您还没有选择旅游景点!请选择一个旅游景点!"<BR> Else<BR> Sqltext = "select F10 from place$ Where place$.pname='" ; Trim(DataCombo1.text) ; "'"<BR>Set mrc = ExecuteSQL(Sqltext, MsgString)<BR> Adodc1.RecordSource = Sqltext<BR> Adodc1.Refresh<BR>End If<BR>End Sub</P> <P>模块代码如下:</P> <P>Public Function ExecuteSQL(ByVal SQL _<BR> As String, MsgString As String) _<BR> As ADODB.Recordset<BR>'executes SQL and returns Recordset<BR> Dim cnn As ADODB.Connection<BR> Dim rst As ADODB.Recordset<BR> Dim sTokens() As String<BR> <BR> On Error GoTo ExecuteSQL_Error<BR> <BR> sTokens = Split(SQL)<BR> Dim vstart As Variant<BR>'vstart = rst.Bookmark<BR> Set cnn = New ADODB.Connection<BR> cnn.Open "DSN=E:\DB\huangshan.dsn;UID=sa;PWD=sa;database=huangshan"<BR> 'Provider=MSDASQL.1;Persist Security Info=False;Data Source=huangshan</P> <P> If InStr("INSERT,DELETE,UPDATE", _<BR> UCase$(sTokens(0))) Then<BR> cnn.Execute SQL<BR> MsgString = sTokens(0) ; _<BR> " query successful"<BR> Else<BR> Set rst = New ADODB.Recordset<BR> rst.Open Trim$(SQL), cnn, _<BR> adOpenKeyset, _<BR> adLockOptimistic<BR> <BR> <BR> 'rst.MoveLast 'get RecordCount<BR> Set ExecuteSQL = rst<BR> MsgString = "查询到" ; rst.RecordCount ; _<BR> " 条记录 "<BR> End If<BR>ExecuteSQL_Exit:<BR> Set rst = Nothing<BR> Set cnn = Nothing<BR> Exit Function<BR> <BR>ExecuteSQL_Error:<BR> MsgString = "查询错误: " ; _<BR> Err.Description<BR> Resume ExecuteSQL_Exit<BR>End Function<BR>谢谢了!</P><img src="images/post/smile/dvbbs/em08.gif" /><img src="images/post/smile/dvbbs/em09.gif" /> |
|