dim string2 as string
    string2 = ""
    'cmb_P,cmb_Si 均为combox控件
    'chk_P,chk_Si  为checkbox控件
    If chk_P.Value = vbChecked Then
       string2 = string2 & " " & cmb_P.Text
    End If
    If chk_Si.Value = vbChecked Then
       string2 = string2 & " " & cmb_Si.Text
    End If
       ’我用VB+SQL Server2000
  ’想要实现:选中chkbox时,对应的combox值存在string2中,然后存入数据库
  ‘一个时没问题,两个以上时:错误提示:  
         多步OLE DB操作产生错误。如果有可能,请检查每个OLE DB状态值。
         没有工作被完成。小弟跪求答案,一定给分!

解决方案 »

  1.   

    认真检查写库代码,用debug认真检查每个生成的SQL语句
      

  2.   

    经常有啦,就是数据库字段设计的长度不够
    你要保存进去的字符串太长,就会报这种多步OLE DB 的错误
      

  3.   

    我觉得你应该使用VB里的DATAFORMAT函数,我用它非常好用
      

  4.   

    谢谢各位的指点了!!   
        存入数据库的代码如下:   我想存入数据库的代码应该是好的,因为我只选一个的时候没有问题;
       Debug调试显示:string2的值是对的,但是就是不能存入数据库;   to SoHo_Andy(冰):我把字段设为varchar(200),错误依然啊,请问这种字段应该用什么类型啊,多大??
        
        dim string2 as string
        string2 = ""     dim mrc as recordset
        txtSQL = "select * from baogao"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        mrc.AddNew
        'cmb_P,cmb_Si 均为combox控件
        'chk_P,chk_Si  为checkbox控件
        If chk_P.Value = vbChecked Then
           string2 = string2 & " " & cmb_P.Text
        End If
        If chk_Si.Value = vbChecked Then
           string2 = string2 & " " & cmb_Si.Text
        End If
        mrc.Fields(n) = string2
        mrc.Update
        mrc.Close
        
    再次谢谢大家的关注,在线等