1

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

当用户访问该网站并注册今年夏天即将举行的会议时,他们会在文本框中看到提到的字段,一旦他们单击“继续”,就会出现一个带有标签的跨页面发布,该标签向用户验证信息是否正确。然后点击网络表单上的“提交”按钮,他们输入的信息将被放入 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(?, ?)";

        OleDbConnection con = new OleDbConnection(constr);
        OleDbCommand com = new OleDbCommand(cmdstr, con);
        con.Open();
        com.Parameters.AddWithValue("?", labelFirstName.Text);
        com.Parameters.AddWithValue("?", labelLastName.Text);
        com.ExecuteNonQuery();
        con.Close();
    }
4

1 回答 1

2

我想你想要

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);
于 2013-02-26T18:36:42.980 回答