C# 单击按钮时插入Access数据库(无错误但不工作)

C# 单击按钮时插入Access数据库(无错误但不工作),c#,asp.net,ms-access,C#,Asp.net,Ms Access,我试图将用户从web表单输入的数据插入Access数据库。我用以下字段(FName、LName、State、Address、Zip、Telephone)创建了Access数据库,并将其放在代码文件中名为App_Data\Registrationinfo.mbd的文件夹中 当用户访问网站并注册今年夏天即将召开的会议时,他们会收到文本框中提到的字段,一旦他们单击“继续”,就会出现一个带有标签的跨页帖子,向用户验证信息是否正确。然后单击web表单上的“提交”按钮,他们输入的信息将被输入Access数据

我试图将用户从web表单输入的数据插入Access数据库。我用以下字段(FName、LName、State、Address、Zip、Telephone)创建了Access数据库,并将其放在代码文件中名为App_Data\Registrationinfo.mbd的文件夹中

当用户访问网站并注册今年夏天即将召开的会议时,他们会收到文本框中提到的字段,一旦他们单击“继续”,就会出现一个带有标签的跨页帖子,向用户验证信息是否正确。然后单击web表单上的“提交”按钮,他们输入的信息将被输入Access数据库。任何帮助都将不胜感激

我得到任何错误在所有和正确的页面重定向工作时,他们点击提交,但信息没有被放入数据库

注意:这是用C#写的,带有母版页。 Access中的表称为UserInfo,仅包含FName和LName字段,以保持简单

我想你想要

protected void submitButton_Click(object sender, EventArgs e)
    {
        string constr = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=U:\App_Data\Registrationinfo.mbd";
        string cmdstr = "insert into UserInfo(FName, LName) values(@First, @Last)";

        OleDbConnection con = new OleDbConnection(constr);
        OleDbCommand com = new OleDbCommand(cmdstr, con);
        con.Open();
        com.Parameters.AddWithValue("@First", labelFirstName.Text);
        com.Parameters.AddWithValue("@Last", labelLastName.Text);
        com.ExecuteNonQuery();
        con.Close();
    }
请在此行中命名您的参数:

string cmdstr = "insert into UserInfo(FName, LName) values(@First, @Last)";
并使用Parameters.AddWithValues使用以下名称:

    com.Parameters.AddWithValue("@First", labelFirstName.Text);
    com.Parameters.AddWithValue("@Last", labelLastName.Text);

如果您打算复制/粘贴代码块,请考虑添加注释/摘要来解释更改(例如,使用命名参数而不是<代码> >代码>占位符……现在,我得到了一个错误异常详细信息:Stask.DATA OLEDB.OLEDBExbExc:溢出错误在这行。com.ExecuteNonQuery();也许您插入的值对于您的列来说太宽了(您上次定义为varchar(20)并插入了一个21个字符的姓氏),我现在觉得很傻,这是字段长度!感谢您的快速响应!很高兴你让它工作了。如果答案对你有帮助,别忘了接受。
    com.Parameters.AddWithValue("@First", labelFirstName.Text);
    com.Parameters.AddWithValue("@Last", labelLastName.Text);