我尝试将用户从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(); }
答案 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);