我正在尝试在Microsoft SQL Server 2008中创建一个具有DATE类型属性的TABLE.但是,当我执行查询时,
我收到错误:
Column, parameter, or variable #3: Cannot find data type DATE.
Run Code Online (Sandbox Code Playgroud)
我查阅了文档,它表明DATE是SQL Server中的有效类型.如果我用"DATETIME"替换"DATE",它可以工作.我的猜测是我遗漏了一些非常简单的东西,但我刚开始学习SQL和SQL Server; 有人有想法吗?
我有一个调用存储过程的SqlDataSource,它工作正常.如果我添加一个<ControlParameter>
标记来添加一个额外的参数,那么查询永远不会触发,并且数据绑定永远不会发生.建议?
这有效:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultDB %>"
SelectCommand="SP_WHATEVER" SelectCommandType="StoredProcedure"
UpdateCommand="SP_WHATEVER2" UpdateCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter DefaultValue="" Name="UserName" SessionField="RP_Program" Type="String" />
</SelectParameters>
<UpdateParameters>
<snip...>
</UpdateParameters>
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)
当我添加ControlParameter时,不再出现数据绑定:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultDB %>"
SelectCommand="SP_WHATEVER" SelectCommandType="StoredProcedure"
UpdateCommand="SP_WHATEVER2" UpdateCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter DefaultValue="" Name="UserName" SessionField="RP_Program" Type="String" />
<asp:ControlParameter Name="SprocArgName" ControlID="ddlFilter" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
<UpdateParameters>
<snip...>
</UpdateParameters>
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)
ControlParameter引用页面上的有效对象.还有其他建议吗?
打印HTML表格时,可以使用CSS强制在分页符之后再次显示表格的标题行。这种风格:
@media print {
thead { display: table-header-group; }
}
Run Code Online (Sandbox Code Playgroud)
结果是:
字幕 ------------- Col1 | Col2 ------------- 数据1 | 数据2 数据3 | 数据4 - 分页符 - Col1 | Col2 ------------- 数据5 | 数据6
有没有一种方法可以在分页符之后重复表标题?我认为您可以做类似的事情caption { display: table-caption-group; }
,但这并不存在。该解决方案需要在IE9中工作。
要允许超级用户/管理员登录我的系统,我正在运行(更大版本)此查询:
Select *
From mytable
Where (:id = 'Admin' Or :id = mytable.id);
Run Code Online (Sandbox Code Playgroud)
如果我传递用户ID,我会获得该用户的所有数据; 如果我传递字符串'Admin',我会得到所有数据.这是有效的,因为Oracle的OR是一个短路运算符.
但是,如果我将'Admin'作为一个包常量并使用函数来获取它,就像这样
Select *
From mytable
Where (:id = mypackage.GetAdminConstant Or :id = mytable.id);
Run Code Online (Sandbox Code Playgroud)
ORA-01722: invalid number
当我通过'Admin'时,我得到了.
当我引入函数时,为什么OR会失去其短路方面?