Sql 向文本中注入值

Sql 向文本中注入值,sql,sql-server,crystal-reports,Sql,Sql Server,Crystal Reports,我有一些合同文本可能会更改 它当前(非活动系统)存储在数据库字段中(我们通过使用表中的其他字段来确定要获取的合同文本)。一、 但是,需要在此文本中显示特定日期(基于单个合同) IE(但1月12日,根据个别合同的变化): 废话废话。。。2009年1月12日。。。废话废话 但合同文本中的其他内容都是一样的 我正在寻找一种将日期注入文本的方法。与.NET类似 Console.Write("Some text here {0} and some more here", "My text to injec

我有一些合同文本可能会更改

它当前(非活动系统)存储在数据库字段中(我们通过使用表中的其他字段来确定要获取的合同文本)。一、 但是,需要在此文本中显示特定日期(基于单个合同)

IE(但1月12日,根据个别合同的变化):

废话废话。。。2009年1月12日。。。废话废话

但合同文本中的其他内容都是一样的

我正在寻找一种将日期注入文本的方法。与.NET类似

Console.Write("Some text here {0} and some more here", "My text to inject");
有这样的东西吗?或者我需要将文本拆分为两个字段,然后连接起来

我总是使用Crystal Reports显示这些信息,所以如果我可以通过Crystal将数据注入,那就好了


我使用的是Crystal Reports、SQLServer2005和VB.net。

您是否尝试过在Crystal Reports代码中放置类似{0}的文本标记,可以在Crystal Reports代码中替换?

您是否尝试过在上面放置类似{0}的文本标记,可以在Crystal Reports代码中替换?

您可以使用一些“保留字符串”(例如“{0}”)作为合同的一部分,然后在从数据库读取后执行替换

如果此保留字符串没有选项(例如,如果合同可能包含任何序列中的任何类型的字符串,我认为这不太可能),那么您可能需要将其拆分为两个文本字段

您可以使用一些“保留字符串”(如“{0}”)作为合同的一部分,然后在从数据库读取后执行替换


如果此保留字符串没有选项(例如,如果合同可能包含任何序列中的任何类型的字符串,我认为这不太可能),那么您可能需要拆分为两个文本字段

您可以创建一个公式字段并将文本连接到其中

如果数据存储在数据库中,则公式文本应如下所示:

"Some static text "  & totext({yourRecord.yourDateField}, "yyyy") 
"some static text " & {?MyParam}
也可以在显示报告之前将其作为参数提供:

    Dim parameterValue As New CrystalDecisions.Shared.ParameterDiscreteValue
    value.Value = yourDate
    Dim parameter As New CrystalDecisions.Shared.ParameterField
    parameter.ParameterFieldName = "MyParam"
    parameter.CurrentValues.Add(value)
    parameter.HasCurrentValue = True
    Me.CrystalReportViewer1.ReportSource = rapport
    Me.CrystalReportViewer1.ParameterFieldInfo.Clear()
    Me.CrystalReportViewer1.ParameterFieldInfo.Add(parameter)
那么公式文本应该如下所示:

"Some static text "  & totext({yourRecord.yourDateField}, "yyyy") 
"some static text " & {?MyParam}

您可以创建一个公式字段并将文本连接到其中

如果数据存储在数据库中,则公式文本应如下所示:

"Some static text "  & totext({yourRecord.yourDateField}, "yyyy") 
"some static text " & {?MyParam}
也可以在显示报告之前将其作为参数提供:

    Dim parameterValue As New CrystalDecisions.Shared.ParameterDiscreteValue
    value.Value = yourDate
    Dim parameter As New CrystalDecisions.Shared.ParameterField
    parameter.ParameterFieldName = "MyParam"
    parameter.CurrentValues.Add(value)
    parameter.HasCurrentValue = True
    Me.CrystalReportViewer1.ReportSource = rapport
    Me.CrystalReportViewer1.ParameterFieldInfo.Clear()
    Me.CrystalReportViewer1.ParameterFieldInfo.Add(parameter)
那么公式文本应该如下所示:

"Some static text "  & totext({yourRecord.yourDateField}, "yyyy") 
"some static text " & {?MyParam}

我假设您有一个连接到报表的数据源。您可以将该字段从“数据库资源管理器”下拉菜单中拖到它应该出现的位置。这样,每当报表运行时,都会显示正确的文本。

我假设您有一个连接到报表的数据源。您可以将该字段从“数据库资源管理器”下拉菜单中拖到它应该出现的位置。这样,每当报表运行时,都会显示正确的文本