private void btnAdd_Click(object sender, EventArgs e)
        {
            //建立添加查询字符串
            String insertSQL = "insert into film(FilmName,Date,Comment) values (@FilmName,@Date,@Comment)";            //建立添加命令
            myCmd = new OleDbCommand(insertSQL,myConnection);            //建立参数用于存放电影名
            myCmd.Parameters.Add(new OleDbParameter("@FilmName",OleDbType.Char,10));
            myCmd.Parameters["@FilmName"].Value = txtFilmname.Text;            //建立参数用于存放日期
            myCmd.Parameters.Add(new OleDbParameter("@Date",OleDbType.DBDate,8));
            myCmd.Parameters["@Date"].Value = txtDate.Text;            //建立参数用于存放评论
            myCmd.Parameters.Add(new OleDbParameter("@Comment",OleDbType.Char,40));
            myCmd.Parameters["@Comment"].Value=richTextBoxComment.Text;
            
            //打开连接
            myCmd.Connection.Open();            try
            {
                //执行查询
                myCmd.ExecuteNonQuery();
                MessageBox.Show("添加成功");
            }
            catch
            {
                MessageBox.Show("添加发生错误检查参数是否合法");
                myCmd.Connection.Close();
                return;
            }
            //关闭数据库连接
            myCmd.Connection.Close();            //以下清空显示
            txtFilmname.Text="";
            txtDate.Text="";
            richTextBoxComment.Text = "";
            OpenDb();
        }
我的数据库用Access,但点击"添加"按钮时显示对话框"添加发生错误检查参数是否合法",怎么改,谢谢!

解决方案 »

  1.   

    richTextBoxComment.Text,估计你这个参数要超长。一般问题时
    1、类型对应错误,检查所设置的类型和大小是否和数据库对应
    2、跟踪传入内容,看是否合法单纯从写法上简单的看了一下,应该没有问题
      

  2.   

    //建立参数用于存放日期
                myCmd.Parameters.Add(new OleDbParameter("@Date",OleDbType.DBDate,8));
                myCmd.Parameters["@Date"].Value = txtDate.Text;這句的類型不對吧!像這種自己設個斷點調試一下就知道了
      

  3.   

    myCmd.Parameters["@Date"].Value = txtDate.Text;
    ===============================================
    myCmd.Parameters["@Date"].Value = Convert.ToDateTime(txtDate.Text);
      

  4.   

    catch(Exception ex)
                {
                    MessageBox.Show("添加发生错误检查参数是否合法"+ex.Message);
                    myCmd.Connection.Close();
                    return;
                }
                //关闭数据库连接
                myCmd.Connection.Close();            //以下清空显示
                txtFilmname.Text="";
                txtDate.Text="";
                richTextBoxComment.Text = "";
                OpenDb();
            }进入调试跟踪  显示异常