小编Joh*_*son的帖子

如果参数为null,则SQL忽略WHERE的一部分

我有一个存储过程,它基于4个参数从表中获取信息.

我想根据参数获取值,但如果参数为NULL,则不检查该参数.因此,如果所有4个参数都为null,我将显示整个表.

这是我的SP(如您所见,这仅适用于1个参数atm):

CREATE PROCEDURE myProcedure
    @Param1 nvarchar(50),
    @Param2 nvarchar(50),
    @Param3 nvarchar(50),
    @Param4 nvarchar(50)
AS
BEGIN
    IF(@Param1 IS NULL)
        BEGIN
            SELECT Id, col1, col2, col3, col4 FROM myTable
        END
    ELSE
        BEGIN
            SELECT Id, col1, col2, col3, col4 FROM myTable WHERE col1 LIKE @Param1+'%'
        END
END
Run Code Online (Sandbox Code Playgroud)

如果没有IF针对每种可能的组合(15个IF),有没有办法做到这一点?

sql database stored-procedures sql-server-2008

25
推荐指数
4
解决办法
5万
查看次数

?没有其他部分的操作员

我用C#?运算符,当我有if语句影响一行,这一切都很好.但是让我说我​​有这个代码(使用经典的if语句):

if(someStatement)
{
    someBool = true;  //someBools value is unknown
}
else
{
    //Do nothing
}
Run Code Online (Sandbox Code Playgroud)

这可以通过以下方式在单线上实现:

someBool = (someStatement) ? true : someBool;
Run Code Online (Sandbox Code Playgroud)

但为什么我不能这样做:

someBool = (someStatement) ? true : ;
//or possibly
someBool = (someStatement) ? true;
Run Code Online (Sandbox Code Playgroud)

这有可能吗?如果是,使用一种方法比另一种方法有什么好处吗?如果没有,为什么你不能这样做?

c# theory conditional-operator

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

C#异常.文件正由另一个进程使用

我正在玩C#,我遇到了一个问题.当我尝试创建一个新文件时,程序会断开并说该文件正由另一个进程使用.这可能是我忽略的愚蠢,但我无法弄明白!

这是我的代码:

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace myNameSpace
{
    public partial class MainWindow : Form
    {
        public static string folderPath = @"fullpath";
        public MainWindow()
        {
            InitializeComponent();
            StoredTb.Text = folderPath;
            String[] files = Directory.GetFiles(folderPath);
            foreach (string file in files)
                myDropDown.Items.Add(Path.GetFileNameWithoutExtension(file));
        }

        private void myDropDown_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.BeginInvoke(new MethodInvoker(myDropDown_invokedMethod));
        }

        private void myDropDown_invokedMethod()
        {
            string fullpath = MainWindow.folderPath + myDropDown.SelectedText + ".txt";
            StreamReader sr = new …
Run Code Online (Sandbox Code Playgroud)

c# file process

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

从访问过的链接下删除下划线

在访问这些链接后,为了删除这些链接的下划线,我需要编写什么CSS代码?

<ul id = "header">
    <li><a href="sigur ros.html"> Home </a> </li>
    <li>Images</li>
    <li>Videos</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我试过这个:

a:visited { text-decoration: none; }
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

这是一个显示问题的小提琴:http://jsfiddle.net/litari/X2Yjk/1/

html css hyperlink visited

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

得到父母的第n个孩子

我有一个表格,我需要每行的前两个单元格可点击(不是整行).当我单击第一个或第二个单元格时,我想获得同一行的第三个单元格的值.澄清一下,当我按下时a1我想要显示警报c1,如果我按下b2我希望它显示c2,如果我按下c3我不希望发生任何事情.

如你所见,我的alert($(this).parent(':nth-child(3)').text());工作不起作用..我怎样才能做到这一点?

$('td:nth-child(-n+2)').on("click", function(){
   alert($(this).parent(':nth-child(3)').text()); //Doesn't work
});
Run Code Online (Sandbox Code Playgroud)
td{
    border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table>
    <tr>
        <td>a1</td>
        <td>b1</td>
        <td>c1</td>
    </tr>
    <tr>
        <td>a2</td>
        <td>b2</td>
        <td>c2</td>
    </tr>
    <tr>
        <td>a3</td>
        <td>b3</td>
        <td>c3</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

javascript css jquery css-selectors

6
推荐指数
2
解决办法
3431
查看次数

移动构造函数的奇怪编译错误

我正在尝试创建一个移动构造函数,但是我得到了错误

expected ',' or '...' before '&&' token
Run Code Online (Sandbox Code Playgroud)

这是造成麻烦的一条线:

List(List&& list) noexcept;
Run Code Online (Sandbox Code Playgroud)

我也有一个类似的复制构造函数.不知道这是否会引起麻烦:

List(const List& copy);
Run Code Online (Sandbox Code Playgroud)

(这都在我的List类的头文件中)

c++ constructor move

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

在初始化中加倍'='

当我做一些实验时,我遇到了这条线:

 int home_address = current_pos_ = hash(key, size_);
Run Code Online (Sandbox Code Playgroud)

而我想知道它究竟是做什么的?(不是哈希函数或任何东西,只是"int variable = variable = value;"的东西)

c++ initialization variable-assignment

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

从后面的代码添加CheckBox CheckedChanged事件

我从后面的代码中添加了几个复选框,但是我无法触发CheckedChanged事件.

在页面加载时调用此代码:

CheckBox cb = new CheckBox();
cb.AutoPostBack = true;
cb.CheckedChanged += cb_CheckedChanged;

cb.ToolTip = dr["Id"].ToString();
cb.ID = Guid.NewGuid().ToString();

Label lbl = new Label();
lbl.Text = dr["Id"].ToString();
lbl.AssociatedControlID = cb.ID;

dvCheckboxes.Controls.Add(cb);
dvCheckboxes.Controls.Add(lbl);
dvCheckboxes.Controls.Add(new LiteralControl("<br />"));
Run Code Online (Sandbox Code Playgroud)

事件:

void cb_CheckedChanged(object sender, EventArgs e)
{
    System.Diagnostics.Debug.Write(((CheckBox)sender).ToolTip);
}
Run Code Online (Sandbox Code Playgroud)

我在CheckedChanged事件中放了一个断点,但它从未到达过.

我尝试过的:

  • 把代码放入if(!IsPostBack),但没有区别.
  • cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
  • cb.CheckedChanged += new EventHandler(this.cb_CheckedChanged);
  • cb.ViewStateMode = System.Web.UI.ViewStateMode.Enabled;
  • 尝试将代码放入Page_Init而不是Page_Load

c# asp.net checkbox events

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

css 旋转而不暂停

我有这个小图像,我想连续旋转或者至少在动画之间有更短的休息时间。

这是该行为的 gif(由于我的 gif 记录软件,它有点难看,但暂停是我想在这里强调的事情):

在此输入图像描述

我的CSS(更少):

.add{
vertical-align: middle;
    line-height: 35px;
    display: inline-block;
    margin-top: 8px;
    margin-left:5px;
    svg{
        fill:@colorOnBright;
        max-width: 30px;
        max-height: 25px;
        vertical-align: middle;
    }
}

.animated {
  animation-name: rotation;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
}

@keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}
Run Code Online (Sandbox Code Playgroud)

标记:

<svg class="add animated" click.delegate="Add()">
     <use xlink:href="#add"></use>
</svg>
Run Code Online (Sandbox Code Playgroud)

那么,如何摆脱暂停呢?或者缩短停顿时间。

提前致谢。

编辑: 我无法理解这一点..我尝试用笔重新创建这个东西,而且效果很好。是否有其他一些 css 属性会以某种方式干扰动画?

https://codepen.io/litari/pen/ajdpjp

edit2: 如果我检查并查看动画,我会得到以下结果: 在此输入图像描述

因此,它在 25% 时从 0 度变为 360 度,而对于其余 75%,它仅保持在 360 度。

css css-animations

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

Gridview Item已添加错误

首先,我已经看到问了同样的问题并且相信我,我已经阅读了答案和评论,并试图理解.否则我不会发帖.

那么,问题就在于:

我有一个我希望更新的gridview.

ASP代码如下所示:

<asp:GridView ID="myGv" runat="server" 
    AutoGenerateEditButton="true" AutoGenerateDeleteButton="true" 
    AutoGenerateColumns="False" AllowPaging="true" AllowSorting="true" DataKeyNames="id" DataSourceID="myObjectDataSource"
    OnRowUpdating="myGv_RowUpdating" >
    <Columns>
        <asp:BoundField DataField="id" HeaderText="id" Visible="false" InsertVisible="False" ReadOnly="True" SortExpression="id" />
        <asp:BoundField DataField="type" HeaderText="type" SortExpression="type" ReadOnly="True" />
        <asp:BoundField DataField="date" HeaderText="date" SortExpression="date" ReadOnly="True" />
        <asp:BoundField DataField="volume" HeaderText="volume" SortExpression="volume" />
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

这是ObjectDataSource:

<asp:ObjectDataSource ID="myObjectDataSource" runat="server" 
    DeleteMethod="myDeleteMethod" SelectMethod="mySelectMethod" 
    TypeName="url.sqlDataLayer" UpdateMethod="myUpdateMethod">
    <DeleteParameters>
        <asp:Parameter Name="id" Type="Int32" />
    </DeleteParameters>
    <SelectParameters>
        <asp:Parameter Name="fromDate" Type="DateTime" />
        <asp:Parameter Name="toDate" Type="DateTime" />
    </SelectParameters>
    <UpdateParameters>
        <asp:Parameter Name="id" Type="Int32" />
        <asp:Parameter Name="volume" Type="Int32" />
    </UpdateParameters>
</asp:ObjectDataSource>
Run Code Online (Sandbox Code Playgroud)

这里是代码(C#): …

.net c# asp.net gridview dictionary

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