从ado上取的数据整理一下再写到数据库里面的发票表里面
请问Set adors = cnn.exec("")的 adors是如何定义的,
我不知道语法的意思,有高手解释一下
下面是载的语句:
Private Sub Command1_Click()
'Dim adors As String
c = MsgBox("确实要生成发票吗?", 33, "提示信息")
 If c = vbOK Then
     Set adors = cnn.exec("insert into pingzheng values(id,cutom) select id,kahao from jiaoyijilu")
      MsgBox "数据保存成功", 64, "提示信息"
      Else
       adors.Close
       End If
其中公共模块是这样写的:
Public adoCon As New ADODB.Connection      '定义一个数据连接
Public CnnStr As String
Public adors As StringPublic Sub Main()          '定义一个公共主函数,用于连接数据库
CnnStr = " Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=;Initial Catalog=2;Data Source=192.168.1.98 "
'adoCon.Open (CnnStr)
End Sub

解决方案 »

  1.   

    首先adors不能使定义成String吧应该是dim adors as ADODB.Recordset
    cnn要用定义的连接(adoCon)
      

  2.   

    按你说的做的,可是还有错误提示 不过错误定在
    Set adors = cnn.exec("insert into pingzheng values(id,cutom) select id,kahao from jiaoyijilu") 上了
      

  3.   

    ("insert into pingzheng values(id,cutom) select id,kahao from jiaoyijilu")
    改成
    ("insert into pingzheng " & values(id,cutom) & " select id,kahao from jiaoyijilu")
      

  4.   

    连接没有初始化首先,你要初始化一个数据库连接,即你的AdoCon,
    sub Main()
    AdoCon.connectionstring = CnnStr '" Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=;Initial Catalog=2;Data 
    AdoCon.CommandTimeout = 30 '连接超时为30秒,这个最好不要太短,一般在执行超长语句时,过短时间会导致超时错误.
    AdoCon.CursorLocation = 3 '游标类型
    end sub
      

  5.   


    看来你是真的不懂。1 Set rs = cn.Execute() 常常用来打开一个只读记录集。好处是不用 Close,可以反复地 Set。但它得到的是一个记录行集,不能帮定到网格控件。
    其中 rs 必须是实例化的记录集对象。2 插入记录不会返回记录集所以
      cnn.exec "insert into pingzheng select id,kahao from jiaoyijilu"  即可。3 Inser 语句有两种格式,单记录插入和批量插入。前者
    Insert Into 表名(字段列表1, 字段列表2, ......) Values(值表1, 值表2, ......)后者Insert Into 目标表名 Select 字段列表1, 字段列表2, ...... From 源表名 ......你一举犯下三个错误,难能可贵。
      

  6.   

    1 Set rs = cn.Execute() 常常用来打开一个只读记录集。好处是不用 Close,可以反复地 Set。但它得到的是一个记录行集,不能帮定到网格控件。 
    其中 rs 必须是实例化的记录集对象。 2 插入记录不会返回记录集所以 
      cnn.exec "insert into pingzheng select id,kahao from jiaoyijilu"  即可。 3 Inser 语句有两种格式,单记录插入和批量插入。 前者 
    Insert Into 表名(字段列表1, 字段列表2, ......) Values(值表1, 值表2, ......) 后者 Insert Into 目标表名 Select 字段列表1, 字段列表2, ...... From 源表名 ......