验证记录是否发送到多个表
本文关键字:记录 是否 验证 | 更新日期: 2023-09-27 18:19:13
我希望我还有一个简单的问题要问外面的人。我目前在一个网站上工作,在那里我有一个用户发布信息到服务器,并在发布后,他们被带到一个验证页面,告诉他们是否成功地存储在。mbd表上。我对单个表这样做没有问题,但当我想要验证存储在多个表上的信息时,我似乎遇到了一个问题。
这是我使用的代码,这是工作的发布到一个单一的表
protected void Page_Load(object sender, EventArgs e)
{
txtVerifiedInfo.Text = Session["txtUserFirstName"].ToString() +
"'n" + Session["txtUserLastName"].ToString() +
"'n" + Session["txtUserName"].ToString() +
"'n" + Session["txtUserPassword"].ToString() +
;
// Check if the record is successfully saved in the tblUserLogin Table and prints the appropriate message in the text box txtVerifiedInfo
if (clsDataLayer.SavePersonnel(Server.MapPath("App_Data''WSC_DB.mdb"),
Session["txtUserFirstName"].ToString(),
Session["txtUserLastName"].ToString(),
Session["txtUserName"].ToString(),
Session["txtUserPassword"].ToString(),
))
{
txtVerifiedInfo.Text = txtVerifiedInfo.Text +
"'nThe information was successfully saved!";
}
else
{
txtVerifiedInfo.Text = txtVerifiedInfo.Text +
"'nThe information was NOT saved.";
}
}
}
这是我尝试过的,但没有多少运气
if (clsDataLayer.Saveneworder(Server.MapPath("App_Data''WSC_DB.mdb"),
Session["txtfirstName"].ToString(),
Session["txtlastName"].ToString(),
Session["txtstreetAddress"].ToString(),
Session["txtcity"].ToString(),
Session["txtzipCode"].ToString()))
&& if (clsDataLayer.Savenewitem(Server.MapPath("App_Data''WSC_DB.mdb"),
Session["jobType"].ToString() +
Session["txtmediaContent"].ToString()))
{
txtVerifiedInfo.Text = txtVerifiedInfo.Text +
"'nThe Order successfully submitted!";
}
else
{
txtVerifiedInfo.Text = txtVerifiedInfo.Text +
"'n The order did not save, please return to the previous screen and verify all of yourr data is correct, thank you.";
}
}
}
我想我做的不是那么正确,但希望在球场。
如果有任何帮助就太好了。感谢您的宝贵时间
为简化起见,大致如下:
var path = Server.MapPath("App_Data''WSC_DB.mdb");
if (clsDataLayer.Saveorder(path, [order parameters]
&& clsDataLayer.Saveitem(path, [item parameters])
{
txtVerifiedInfo.Text = txtVerifiedInfo.Text +
"'nThe Order successfully submitted!";
}
else
{
txtVerifiedInfo.Text = txtVerifiedInfo.Text +
"'n The order did not save, please return to the previous screen and verify all of yourr data is correct, thank you.";
}
您所提供的代码结构不佳,因为有对Server.MapPath
的不必要调用,并且该调用可能更好地放置为数据层类的构造函数的参数的一部分。
您可能没有意识到的是&&
是一个快捷操作符——如果参数的第一部分失败,则不会调用参数的第二部分。这是你想要的行为吗?
我怀疑您希望Saveorder
和Saveitem
一起成功或失败,作为一个事务的一部分。在这种情况下,你最好在你的datalayer类中写一个新方法来完成这个任务。
我假设你的文件名中的.mdb
表明你正在使用MS Access?我不确定它是否处理事务以及SQL服务器(例如),所以你可能需要编写自己的代码来删除订单,如果它的项目不能保存(或任何你需要的故障行为)。