gpt4 book ai didi

mysql - 由于 WHERE MySQL Crystal Reports 动态更改数据库

转载 作者:行者123 更新时间:2023-11-30 01:27:44 25 4
gpt4 key购买 nike

我正在使用 .NET 4.5、VS 2012、CrystalReports 和 MySQL 进行编程(最后 ^^)。

我有 3 个或更多名为“rp31_bla_2012_bla”或“rp31_bla_2013_bla”的表或...

想象您有一个包含以下内容的表格:

- 姓名 - 年龄 - 工作 - 年份 -

  • 罗伯特 - 45 - 医生 - 2001
  • 罗伯特 - 45 - 自制 - 2002
  • 罗伯特 - 45 - 极客 - 2006
  • 罗伯特 - 45 - 炊具 - 2009
  • 罗伯特 - 45 - (null) - 2013
  • Nadège - 21 - CallGirl - 2001
  • Nadège - 21 - (null) - 2002
  • Nadège - 21 - CallGirl - 2008
  • Nadège - 21 - 主页 - 2008

现在我有一个带有两个文本框的 WinForm,如果用户写“Robert”和“2013”​​,我必须使用 “rp31_bla_***2013***_bla”WHERE Name = Robert。可以吗?
我应该创建哪种类型的报告?
如何动态更改查询?

最佳答案

您可以使用 union 组合 3 个表并按名称过滤

选择*来自(从 rp31_bla_2012_bla 中选择 ..., 2012 作为年份联盟从 rp31_bla_2013_bla 中选择 ..., 2013 年联盟从 rp31_bla_2014_bla 中选择 ..., 2014 年作为年份) tWHERE t.Year =2013 且 t.Name ='Robert'

由于数据源永远不会改变,因此您不需要切换表。这种方法会比较慢,因为您总是会查询 3 个表

另一种选择是在 Crystal reports 中使用命令并创建一个动态查询,该查询将使用 exec 执行 - 然后您将只能查询一个表,但需要处理名称中的特殊字符(例如'%?)

关于mysql - 由于 WHERE MySQL Crystal Reports 动态更改数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791940/

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