gpt4 book ai didi

c# - 如果值存在;不要输入值。 if 语句

转载 作者:行者123 更新时间:2023-11-29 14:42:00 27 4
gpt4 key购买 nike

初学者在这里尝试。我编写了一个小代码片段,将 txt 文件中的数据输入到数据库中。正如问题所述,我想编写一个 if 语句(我认为),用于检查重复项,如果存在重复项,则阻止数据输入。或者,如果这些值存在,那么 donotprocess(); 就可以达到这种程度。

我在开始时遇到了一些困难,所以如果有人可以提供一些见解或为我指明正确的方向,我将不胜感激。

    public bool UpdateOrderTrackingNumber(string tracking)
{
trackingNumber = tracking;
string statement = "INSERT INTO SOP10107 VALUES(@SOPNUMBE, @SOPTYPE, @Tracking_Number);";
SqlCommand comm = new SqlCommand(statement, connectionPCI);

comm.Parameters.AddWithValue("SOPNUMBE", orderNumber);
comm.Parameters.AddWithValue("SOPTYPE", soptype);
comm.Parameters.AddWithValue("Tracking_Number", tracking);
try
{
comm.Connection.Open();
comm.ExecuteNonQuery();
comm.Connection.Close();
}
catch (Exception e)
{
comm.Connection.Close();
KaplanFTP.errorMsg = "Database error: " + e.Message;
}

return true;
}

最佳答案

如果不能有重复的行,那么您可以将这三个字段设为主键。您是否想要取决于对该表含义的理解。

SOP 编号始终是唯一的吗?或者不同的 Sop 类型可以拥有相同编号的 Sop 吗?这是 Sop 和 Tracking 之间的连接,还是 Tracking 是 Sop 的属性?一个 Sop 可以有多个 Tracking 吗?这个表到底代表什么?

如果您设置了主键,那么数据库将阻止您的代码插入重复项。这是一个非常可靠的防御,但是您的代码应该更加友好,并尝试防止它发生,而不是因“重复键”异常而失败。

编辑:看看你的方法名称 - 看起来你的对象是一个“Sop”,而 Tracking 是它的一个属性。该方法称为“更新”,那么我们可以假设或要求Sop已经存在吗?在这种情况下,它只是一个更新语句。您将多久以及以何种模式调用这些方法?您会创建 Sops,然后四处更新他们的跟踪号码吗?您每次都会创建完整的跟踪号码吗?

您可能会发现对象关系映射框架很有用。就学习曲线而言,这是一个更大的飞跃,但它可以使编程和理解变得更加容易。

关于c# - 如果值存在;不要输入值。 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808881/

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