gpt4 book ai didi

c# - 检查值是否存在或为空

转载 作者:行者123 更新时间:2023-11-30 19:01:37 26 4
gpt4 key购买 nike

一个问题...我在下面的示例中有一个代码...我必须将一些值插入数据库..但直接从数据行..我不想使用变量。所以我的问题是, 有没有办法检查数据行中的值是否存在或者它是否为 null,如果该值不存在我必须插入 null 或者如果它是 null 只需插入 null...

例子:

myQuery = " INSERT INTO AGR3PL_CS (IDOC_NUM, PSEG_NUM, SEG_NUM, COMP01, GLNO01, NAME01) " +
" VALUES (" + Lidoc_num + ", '" +
PSEG_NUM + "','" +
SEG_NUM + "','" +
dr_art_custsuply["Id"] + "','" +
dr_art_custsuply["GLN"] + "','" +
dr_art_custsuply["Name"] + "')";

这是我不想使用的方式...

if (!dr_art_custsuply.Table.Columns.Contains("GLN") || dr_art_custsuply["GLN"].ToString().Length <= 0)
{
gln = "";
}
else
{
gln = dr_art_custsuply["GLN"].ToString();
}

最佳答案

  1. 参数
  2. DBNull.Value

例如(因为您使用的是 oracle):

cmd.CommandText = @"
INSERT INTO AGR3PL_CS (IDOC_NUM, PSEG_NUM, SEG_NUM, COMP01, GLNO01, NAME01)
VALUES (:IDOC_NUM, :PSEG_NUM, :SEG_NUM, :COMP01, :GLNO01, :NAME01)";
cmd.Parameters.AddWithValue("IDOC_NUM", Lidoc_num);
cmd.Parameters.AddWithValue("PSEG_NUM", PSEG_NUM);
cmd.Parameters.AddWithValue("SEG_NUM", SEG_NUM);
cmd.Parameters.AddWithValue("COMP01", dr_art_custsuply["Id"] ?? DBNull.Value);
cmd.Parameters.AddWithValue("GLNO01", dr_art_custsuply["GLN"] ?? DBNull.Value);
cmd.Parameters.AddWithValue("NAME01", dr_art_custsuply["Name"] ?? DBNull.Value);
cmd.ExecuteNonQuery();

或者如果您需要通过“dapper”获得帮助(因为您提到参数数量是个问题):

connection.Execute(@"
INSERT INTO AGR3PL_CS (IDOC_NUM, PSEG_NUM, SEG_NUM, COMP01, GLNO01, NAME01)
VALUES (:Lidoc_num, :PSEG_NUM, :SEG_NUM, :Comp, :Gln, :Name)",
new { Lidoc_num, PSEG_NUM, SEG_NUM,
Comp = (int?)dr_art_custsuply["Id"],
Gln = (string)dr_art_custsuply["GLN"],
Name = (string)dr_art_custsuply["Name"] });

关于c# - 检查值是否存在或为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237852/

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