尝试添加记录时,没有给出一个或多个必需参数的值

时间:2014-03-14 17:35:26

标签: c# sql

我正在尝试根据文本框输入将新记录添加到数据库表中。但是,我收到了一个错误:

  

没有给出一个或多个必需参数的值

我有这段代码:

    private void addWord_Click(object sender, EventArgs e)
    {
        try
        {
            using (OleDbConnection conn = new OleDbConnection(access7ConnectionString))
            {
                conn.Open();

                using (OleDbCommand cmd = new OleDbCommand("INSERT INTO Words VALUES(" + "@Name)", conn))
                {
                    cmd.Parameters.AddWithValue("@Name", Word.Text);
                    int rows = cmd.ExecuteNonQuery();

                    //rows number of record got inserted
                }
            }
        }
        catch (OleDbException ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

从我读到的内容,如果表的主键正在自动递增,则不需要定义ID。所以这是Access中的表格。

enter image description here

如果我给它ID参数,它会抛出一个错误,它不能允许重复。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

尝试此查询

"INSERT INTO Words (Word) VALUES(?)"

这将特别指出在处理OleDB连接时要插入的字段和问号是placeholder for parameters