Dim Provider = "Provider=Microsoft.Jet.OLEDB.4.0"
        Dim DataBase = "Data Source=" & Server.MapPath("data/data.mdb")        Dim Conn As OleDbConnection, Cmd As OleDbCommand
        Dim SQL As String
        Conn = New OleDbConnection(Provider & ";" & DataBase)
        Try
            Conn.Open()            SQL = "Insert Into BBS_TITLES (TITLES_NAME, TITLES_EMAIL, TITLES_SUBJECT, 
                                  TITLES_CONTENT, TITLES_NUM) Values (?, ?, ?, ?, ?)"
            Cmd = New OleDbCommand(SQL, Conn)
            Cmd.Parameters.Add(New OleDbParameter("TITLES_NAME", OleDbType.Char, 255))
            Cmd.Parameters.Add(New OleDbParameter("TITLES_EMAIL", OleDbType.Char, 255))
            Cmd.Parameters.Add(New OleDbParameter("TITLES_SUBJECT", OleDbType.VarChar))
            Cmd.Parameters.Add(New OleDbParameter("TITLES_CONTENT", OleDbType.VarChar))
            Cmd.Parameters.Add(New OleDbParameter("TITLES_NUM", OleDbType.Integer))            Cmd.Parameters("TITLES_NAME").Value = TITLES_NAME.Text
            Cmd.Parameters("TITLES_EMAIL").Value = TITLES_EMAIL.Text
            Cmd.Parameters("TITLES_SUBJECT").Value = TITLES_SUBJECT.Text
            Cmd.Parameters("TITLES_CONTENT").Value = TITLES_CONTENT.Text
            Cmd.Parameters("TITLES_NUM").Value = 0            Cmd.ExecuteNonQuery()
        Catch er As OleDbException
            MessageBox.show(er.Message)
        Finally
            Conn.Close()
        End Try异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
这一行显示为红色错误: Cmd.Parameters("TITLES_CONTENT").Value = TITLES_CONTENT.Text在数据库中,TITLES_CONTENT数据类型为"备注"这错在那里?应如何解决?另"备注"与"文本"有什么区别?

解决方案 »

  1.   

    显示 [操作必须使用一个可更新的查询]参考:http://www.cnblogs.com/nickcheng/archive/2004/12/08/74644.html主要是为数据库文件所在文件夹添加everyone可写权限
      

  2.   

    提示:
    这一行显示为红色错误: Cmd.Parameters("TITLES_CONTENT").Value = TITLES_CONTENT.Text在数据库中,TITLES_CONTENT数据类型为"备注"
    ------------------------------------------可以用OleDbType.Variant试试
    即把上面的
    Cmd.Parameters.Add(New OleDbParameter("TITLES_CONTENT", OleDbType.VarChar))
    更改成
    Cmd.Parameters.Add(New OleDbParameter("TITLES_CONTENT", OleDbType.Variant))