单击按钮时插入Access数据库(无错误但无法正常工作)

时间:2013-02-26 18:27:29

标签: c# asp.net ms-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(?, ?)";

        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();
    }

1 个答案:

答案 0 :(得分: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);