highly_wj
路人甲
路人甲
  • 注册日期2005-10-11
  • 发帖数1
  • QQ
  • 铜币113枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1549回复:0

请教:vb+sql 开发中,数据库怎么连接?

楼主#
更多 发布于:2006-10-12 09:11
<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" />
喜欢0 评分0
游客

返回顶部