gpt4 book ai didi

c# - 如何在给定 RowID 和要更新的值的情况下更新表行。 MVC C# 林克

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:16 25 4
gpt4 key购买 nike

这是我的代码。 PayPal 向 ActionResult 发送 RowID,即 item_number 和交易 ID,即 pp_txn_id。我只是想引用我的交易表 tblPayPalTransactions 中的行,并使用 pp_txn_id 更新它,我看到它在 PayPal 购买后发回给我。然后将照片链接发送到 DownloadPicture.cshtml 查看。

我根本想不出更新交易表的语法。其他一切我能做的。卡在这里试图完成一个项目。

//ROW IN PHOTOS IS item_number, PAYPAL PAID TRANSACTION IS pp_txn_id
public ActionResult thankyou(string item_number, string pp_txn_id)
{

var photo = db.PayPalTransactions.Where(x => x.RowID == Convert.ToInt32(item_number));
photo.pp_txn_id = pp_txn_id;
db.SubmitChanges();

var thisPaidPhoto = (from p in db.Photos
where p.PhotoId == Convert.ToInt32(item_number)
select p).FirstOrDefault();

return View(thisPaidPhoto);
}

最佳答案

您当前的代码将出现编译错误,因为 Where 方法返回一个集合。所以基本上 photo 变量将是一个集合类型,它不会有 pp_txn_id 属性。

假设 rowid 是该表中记录的唯一标识符,您需要获取单个记录。

您可以使用FirstOrDefault 方法。

var rowId=Convert.ToInt32(item_number)
var photo = db.PayPalTransactions.FirstOrDefault(x => x.RowID ==rowId);
if(photo!=null)
{
// update now
photo.pp_txn_id = pp_txn_id;
db.SubmitChanges();
}
else
{
// item does not exist in table. Handle as needed.
}

另请记住,如果输入不是有效数值,Convert.ToInt32 方法将抛出异常。为了安全起见,我会使用 Int32.TryParse。但是如果您确定这些值始终是数字类型,我建议您使用数字类型作为参数(intlong)。

关于c# - 如何在给定 RowID 和要更新的值的情况下更新表行。 MVC C# 林克,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45746850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com