【问题标题】:error storing null date on repository在存储库上存储空日期时出错
【发布时间】:2016-09-01 07:21:11
【问题描述】:

如何在数据类型为日期时间的存储库组合框上放置一个空值? 还是我应该将日期时间转换为 null ? 我试着把这段代码给我错误

public void store()
{

 GridView view = sender as GridView;
 for (int i = 0; i < gridView1.RowCount; i++)
            {
 if (gridView1.GetDataRow(i)["signOut"] == DBNull.Value)
            {           
                DateTime? px = null;

                if (!repositoryItemComboBox10.Items.Contains(px))
                {
                    repositoryItemComboBox10.Items.Add(px);
                }
            }
}
}

image error1

错误是catch 在其他method 中的选择查询

  public void SDB()
    {
        SqlDataAdapter adapter2 = new SqlDataAdapter(command.CommandText, myConnection);
        try
        {
            ds2.Clear();
            dt2.Clear();
            command2.Connection = myConnection;
            command2.CommandText = " ..."
            adapter2.SelectCommand = command2;

            adapter2.Fill(ds2);
            adapter2.Fill(dt2);
            gridControl1.DataSource = dt2;

            myConnection.Open();

        }
        catch (Exception ex)
        {
            MessageBox.Show("error" + ex);
        }
        finally
        {
            myConnection.Close();
        }

结论我想要的是得到过滤器,如果注销是空白或空 image that i want

【问题讨论】:

  • 你能发布错误信息是什么吗?它可能与 repo 对象无关,而是您不适合 null SqlParameteres
  • eem,你检查链接图片了吗?我不知道如何使它成为一个拇指指甲。是的,与存储库无关。

标签: c# winforms devexpress


【解决方案1】:

该错误是因为您不能将 null 直接分配给日期。您可以按如下方式创建可为空的日期

DateTime? px = (DateTime?)null;

【讨论】:

  • 经过进一步调查,我意识到错误出在您的命令上,而不是 repo 项目上。您能否发布一个命令文本示例以及如何分配参数。
  • 如果我简化它,这将是一个常规语法SELECT signOut FROM time 但signOut 的数据库有些得到了空值。而不是将日期时间转换为空,所以我想我为什么不直接调用空值类型。并将其存储在存储库中
  • 一种选择是使用 SqlParameters。有些像 SqlParameter param = new SqlParameter(); param.AddWithValue("@MyParam", (object)MyParam ?? DBNull.Value);这当然是未经测试的代码,但你可以理解。 MyParam 将是您的可为空参数
  • mmh,有什么办法,如果在日期字段中传递空值,如何转换日期时间?而不是使用sql参数。
  • 由于您使用的是 SqlAdapter,您可以查看 -> stackoverflow.com/questions/3254203/… 。它显示了如何分配参数并将它们添加为空值。它适用于存储过程,但您可以稍微更改代码以使其与内联 sql 一起使用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
相关资源
最近更新 更多