Dim mycnn As New Data.OleDb.OleDbConnection()
        Dim mycommand As New Data.OleDb.OleDbCommand()
        Dim strcnn As String = "insert into message values('"
        Dim ds As New Data.DataSet()
        Dim dp As New Data.OleDb.OleDbDataAdapter()
        mycnn.ConnectionString = "Provider=microsoft.jet.oledb.4.0;" & "Data Source=D:\lyb\App_Data\message.mdb"        strcnn = strcnn & 姓名.Text & "','" & 标题.Text & "','" & 内容.Text & "')"
        mycnn.Open()
        mycommand.CommandText = strcnn
        mycommand.Connection = mycnn
        dp.SelectCommand = mycommand
        dp.Fill(ds, "message")
        mycnn.Close()
红色那句出错,原因是:查询值的数目与目标字段中的数目不同。

解决方案 »

  1.   

    VB我不太了解,不过我看了楼主的代码,发现一个问题,SQL查询后应该是返回一个datatable的,为什么楼主定义一个dataset呢。
    我觉得应该把ds定义成一个datatable应该就没问题了。dim ds as new system.data.datatable()我觉得应该就对了,仅供楼主参考,我没有试验,但用C#做过相关的程序(查询ACCESS数据库)