小编glo*_*uin的帖子

SSRS 2008:错误消息说我的参数不存在但显然呢?

我有一个包含大约10个参数和大约10个数据集和一个数据源的报告.我打字很多,但我真的需要帮助所以我想我会尝试提供尽可能多的关于问题的信息,因为我可以从一开始.

让我们简化一切,并假装这些是所有内容的相关名称,并且报告获得基本的员工信息:

  • 参数
    • facilityID:guid或uniqueidentifier格式的文本,隐藏并传入,以便报告的最终用户只能查看自己设施的信息; 单值参数,非空白不为空,隐藏,文本
    • startDate:开始日期范围,假设我希望我的报告包含从今年1月1日开始的数据; 单值参数,非空白不为空,可见,日期时间
    • endDate:日期范围的结束,让我们说今天/现在; 单值参数,非空白不为空,可见,日期时间
    • viewOption:三个硬编码值(标签,值)("当前员工",1)和("过去员工",2)和("移动设施的员工",3); 多值参数(因此选择all是一个选项),不是空白,不是空,可见,文本
    • personID:基于数据集getListOfNames,其中标签是员工姓名,值是他们的personID(guid/uniqueidentifier); 单选,非空,不空白,文本和可见
  • 我的数据集
    • getListOfNames:这将获取在给定设施的提供日期范围内在公司的人员列表,以及他们的员工状态在viewOption参数值中的位置(因此它可以只是一个数字或最多三个).这是一个存储过程,但我已经将它设置为通过传递join(参数,"〜")然后在存储过程中将其分离来处理多值参数.这适用于其他5个报告.
    • getReportInfoOnSelectedPerson:主体查询; 在用户选择他们想要数据的员工之后,这将获取该personID和日期范围并填充主表.

问题:
SSRS说viewOption不存在.但我在左侧的Parameters文件夹中看到了它.当我在参数下输入表达式时,我看到了它.参数!viewOption.value下没有波浪形的红线.但是,当我尝试将其作为getListOfNames数据集使用的参数的值时,它会出错.如果我把它放在getReportInfoOnSelectedPerson数据集中并以完全相同的方式使用它,SSRS就可以了.跆拳道?所以...我已经检查了rdl,一切都很好(声明了实际参数,在数据集引用中使用它,所有内容).它只是这一个数据集.我有一个类似的报告,使用相同的数据集,相同的基本参数和报告是好的.我尝试将dataset参数的值设置为1或者其他,这很好但是当我尝试将其设置为Parameter!viewOption.value时它出错.....现在,上面我说我通常传递存储的proc一个Join在带有波浪号的参数上〜但是我试图保持它简单,或者让它只是通常工作(通过传递多值viewOption参数的第一个值或将该参数转换为单个选择并且只是传递.但是连接也不起作用.所有这些都适用于其他数据集,这也是一个存储过程.

这是我的错误:
报告处理期间发生了错误.(rsProcessingAborted)查询参数"@viewOption"的Value表达式包含错误:表达式引用了报表参数集合中的不存在的参数.(rsRuntimeErrorInExpression)

这显然是说我的参数不存在,但我可以看到它...到处都是.如果我将其他数据集中的一个参数值分配给viewOption参数,则它可以正常工作而不会出现错误.我检查了rdl.

我之前遇到过这个问题,通过删除参数和数据集并再次创建它们来修复它(为了安全起见,我重命名了它们).这次没办法.

我很沮丧.请帮忙....

码?

      <DataSet Name="getListOfNames">
      <Fields>
          <Field Name="personID">
              <DataField>PersonId</DataField>
              <rd:TypeName>System.Guid</rd:TypeName>
          </Field>
          <Field Name="name">
              <DataField>name</DataField>
              <rd:TypeName>System.String</rd:TypeName>
          </Field>
      </Fields>
      <Query>
          <DataSourceName>myDataSource</DataSourceName>
          <CommandType>StoredProcedure</CommandType>
          <CommandText>getListOfNames</CommandText>
          <QueryParameters>
              <QueryParameter Name="@fac">
                  <Value>=join(Parameters!fac.Value,"~")</Value>
              </QueryParameter>
              <QueryParameter Name="@bldg">
                  <Value>=join(Parameters!bldg.Value,"~")</Value>
              </QueryParameter>
              <QueryParameter Name="@unit">
                  <Value>=join(Parameters!unit.Value,"~")</Value>
              </QueryParameter>
              <QueryParameter Name="@station">
                  <Value>=join(Parameters!station.Value,"~")</Value>
              </QueryParameter>
              <QueryParameter Name="@startDate">
                  <Value>=Parameters!startDate.Value</Value>
              </QueryParameter>
              <QueryParameter Name="@endDate">
                  <Value>=Parameters!endDate.Value</Value>
              </QueryParameter>
              <QueryParameter Name="@viewOption">
                  <Value>=Join(Parameters!viewOption.Value, "~")</Value>
              </QueryParameter>
          </QueryParameters>
          <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
      </Query>
  </DataSet>



<ReportParameter Name="viewOption"> …
Run Code Online (Sandbox Code Playgroud)

sql-server parameters reporting-services ssrs-2008

28
推荐指数
5
解决办法
6万
查看次数

使用jQuery在AJAX响应中通过ID查找元素

我需要将数据发布到php页面,然后我想得到响应中某个div的文本,但我似乎无法正确设置.我对jQuery不太好,但我通常可以很快解决问题...我已经在这一段时间内已经尝试了所有我发现的东西......我想我只是错过了正确的东西组合.

$.post("process.php", data , function (response) {  

       var w = window.open();    

       $(w.document.body).html(response); 

       console.log(typeof response); //  yeilds string 
       //create jquery object from the response html
       // var $data = $(response);   // yeilds Uncaught Error: Syntax error, unrecognized expression: + whole html text


       var success =  $($.parseHTML(response)).find("#success"); 
       console.log('success'); 
       console.log(success);        // see screenshot
       console.log(success.text()); // yields nothing 
       console.log(success.val());  // yields undefined 
       // if (window.focus) {w.focus()}; 

 },'html');  
Run Code Online (Sandbox Code Playgroud)

这是输出console.log(success);和红色框是我想要的响应...

![这张照片看起来很小......当我制作时它并不那么小.我希望它仍然可读] [1]

这样做:

var success =  $(response).find("#success"); 
console.log('success'); 
console.log(success);        // yeilds Uncaught Error: Syntax …
Run Code Online (Sandbox Code Playgroud)

ajax jquery selector

20
推荐指数
1
解决办法
6万
查看次数

使用 PHP for SQL Server 和无 PDO 防止 SQL 注入

我可以尽可能地清理和验证我的输入,但这绝对不能涵盖所有内容,如果我足够用力、足够彻底地擦洗,我将完全清除我的输入。

我意识到有很多关于这个主题的帖子,但似乎他们总是回到 PDO 或 Mysql(是的 - 即使有人发布关于 SQL Server 的帖子,他们收到的一半答案都表明 mysql_real_escape_string - 疯狂的世界)。 我也不能用。即使在我打字时,屏幕右侧出现一些“类似的问题”,我也一直点击各种链接,但没有任何内容能完全回答我的问题。

我正在使用 SQL Server。我正在使用 PHP 5.2.4。我不能使用 PDO(因为...?我的老板说“不”,这就是足够的理由)。

有没有一种方法可以编写一种安全的方法来准备我自己的查询语句?

过去,我曾尝试在 PHP 中构建这样的语句。(其中 $input_* 变量是某种形式的用户输入,或者我将它们从某些东西中拉出来)

$query = "
    declare @varID  int
    declare @var1   int
    declare @var2   varchar(100) 

    set @varID = cast('$input_ID' as int)
    set @var1  = cast('$input_var1' as int)
    set @var2  = cast('$input_var2' as varchar(100)) 

    update table_name_goes_here
         set var1 = @var1,  
             var2 = @var2
         where ID = @varID;
    ";
 # $query is then executed 
Run Code Online (Sandbox Code Playgroud)

但这也可能很脆弱......显然......我做的最后一件事是删除所有必要的标点符号(有时我知道他们没有理由使用某些字符)

但必须有其他选择......对吗?并且mssql_bind只适用于存储过程,这是一个明确的选择,但我不确定我是否想通过插入/更新过程自愿扩展我的职责以将维护包括在实际数据库中。

php sql-server sql-injection

5
推荐指数
1
解决办法
3660
查看次数

初学者SQL Developer,需要从查询中排除一些结果

我有一个SQL查询来显示stage_time表中stage_times的所有总和.但是我只需要为所有3个阶段输入值的汽车使用stage_times的总和,因此在这种情况下car_no 3被排除在列表之外;

这是一个带有我的示例代码http://sqlfiddle.com/#!2/1675d/78的sqlfiddle

SELECT d.*, SUM(Stage_Time) AS total
FROM Driver d, Stage_Times st
WHERE st.Driver_Id = d.Driver_Id AND st.Event_Id = 1 
      AND st.Stage_Id <= 3 
GROUP BY d.Driver_Id
ORDER BY total;
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助

sql

3
推荐指数
1
解决办法
247
查看次数

在codeigniter中将查询结果作为数组获取

我有一个查询,如何将结果作为数组?

function get_all_transaksi_proses() {
    $rs = $this->db->query("SELECT a.id_transaksi,
                                   a.nama,
                                   a.tgl_transaksi, 
                                   (SELECT COUNT( id_transaksi ) AS jum  
                                     FROM  tbl_detail_trs_menu  
                                     WHERE id_transaksi = a.id_transaksi)  AS jumlah, 
                                   a.status_transaksi, 
                                   a.total, 
                                   b.status_pelanggan, 
                                   c.nama_karyawan 

                            FROM   tbl_transaksi a 

                                   LEFT JOIN  tbl_pelanggan b 
                                      ON a.id_pelanggan = b.id_pelanggan 

                                   LEFT JOIN tbl_karyawan c 
                                      ON a.id_karyawan = c.id_karyawan 

                            WHERE  a.status_transaksi =  'PROSES' ");  

  echo json_encode(array("result" => $rs)); 
}
Run Code Online (Sandbox Code Playgroud)

php jquery codeigniter

2
推荐指数
1
解决办法
2万
查看次数

关于变量赋值的澄清?"var x =!0"

我正在浏览一个javascript库,我想知道为什么要定义这样的变量...

points: {
   show: !0
},
Run Code Online (Sandbox Code Playgroud)

为什么你会做show: !0的只是代替show: 1

我不认为这个问题必然是针对javascript的,但我还是用它来标记问题,以防它实际上是特定于语言的.

javascript variable-assignment

1
推荐指数
1
解决办法
49
查看次数