在做一个登陆见面现在遇到一个编译出错的问题,大家帮忙看看。
Private Sub cmdlogon_Click()
   Dim cnn As ADODB.Connection
   Set cnn = New ADODB.Connection
   
   cnn.Provider = "MSDASQL"
   cnn.ConnectionString = "driver={SQL Server};" & _
       "server=MBMFLASH\ITP;uid=HC;pwd=77887788;database=LAB"
   cnn.Open
      If cnn.State = adStateOpen Then
      MsgBox "Welcome to LAB database!"
   Else
      MsgBox "Sorry. No LAB database."
   End If
  
  Dim cmd As ADODB.Command
  Set cmd = New ADODB.Command
  '指定cmd的当前连接为conn
  cmd.ActiveConnection = cnn
  '设置要执行的是存储过程average
   cmd.CommandType = adCmdText
   cmd.CommandText = "select * from dbo.logon where username=? and password=?"
  '注意有的地方是用[dbo].logon来表示,这点需要待认证
  
  Dim par As ADODB.Parameter
  Set par = cmd.CreateParameter("username", adLongVarChar, adParamInput, 10,    Val(nameselect.Text))
   
  cmd.Parameters.Append par
 
Set par = cmd.CreateParameter("password", adInteger, adParamInput, 10, Val(code.Text))
cmd.Parameters.Append par
 Dim rst As New ADODB.Recordset
 Set rst = cmd.Execute
错误出现在“ Set rst = cmd.Execute”这一行,错误提示为

解决方案 »

  1.   

    转VB区,谢谢
    --Set rst = cmd.Execute()
      

  2.   

    cmd.Execute 这个是字符串,不是数据集
      

  3.   

    VB我也不熟啊,以前搞了一下vbscript而已,网上应该有很多VB操作数据库的例子啊,你看他们是如何执行语句的吧
      

  4.   

    好的,谢谢斑竹
    我想说我好苦逼,vb+outlook2008+SQL SERVER 2008,这三者我全都不懂
    苦逼
      

  5.   

    好的,谢谢斑竹
    我想说我好苦逼,vb+outlook2008+SQL SERVER 2008,这三者我全都不懂
    苦逼
    应该是vb+outlook2010+SQL SERVER 2008
      

  6.   

    斑竹我找到原因了,原来我在ado设置的字段的变量和sql server字段的变量不匹配我勒个去。
    这个问题解决了,但又遇到其它问题
    木事,问题一个个解决,I Can!!!
      

  7.   

    斑竹我找到原因了,原来我在ado设置的字段的变量和sql server字段的变量不匹配我勒个去。
    这个问题解决了,但又遇到其它问题
    木事,问题一个个解决,I Can!!!就应该这样,话说VB版怎么那么冷清啊
      

  8.   

    斑竹我找到原因了,原来我在ado设置的字段的变量和sql server字段的变量不匹配我勒个去。
    这个问题解决了,但又遇到其它问题
    木事,问题一个个解决,I Can!!!就应该这样,话说VB版怎么那么冷清啊
    估计我的问题太小儿科了,大神觉得我应该多历练,所以大家选择沉默   
    哈哈