小编zgo*_*ski的帖子

像'%'不接受NULL值

我有从用户输入构建的查询(通过html表单传递).它看起来像(简单的例子):

Select * From [table] Where [table].[column] like '<parameter>'
Run Code Online (Sandbox Code Playgroud)

此参数可以是可选的,因此如果用户将相应的输入字段留空,则传递%.它工作正常,直到我遇到NULL值.我理解'%'匹配的符号不是null,但我想在这种情况下将NULL视为空字符串.

我该怎么办?当用户离开空输入时,更改查询(如何?)或传递另一个符号?

谢谢.

PS.这是现有系统的真正问题,我知道它远非最佳解决方案,但我必须处理它.

sql null

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

ASP.NET MVC 3未找到视图"错误"或其主控或没有视图引擎支持搜索的位置

我已经启动了MVC 3项目,它在localhost上没有问题.但是当我将它上传到我的托管服务器上时,我发现了错误:

System.InvalidOperationException
The view 'Error' or its master was not found or no view engine supports the searched locations
Run Code Online (Sandbox Code Playgroud)

我的控制器中没有任何"错误"方法,正如我所说,在localhost上一切都很好.我该如何解决我的问题?

提前致谢!

asp.net-mvc-3

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

强制转换,即使协议需要给定类型

我有以下代码:

import UIKit

protocol Fooable: class where Self: UIViewController {
    func foo()
}

class SampleViewController: UIViewController, Fooable {

    func foo() {
        print("foo")
    }
}

let vc1: Fooable = SampleViewController()
let vc2: Fooable = SampleViewController()


// vc1.show(vc2, sender: nil) - error: Value of type 'Fooable' has no member 'show'

// (vc1 as! UIViewController).show(vc2, sender: nil) - error: Cannot convert value of type 'Fooable' to expected argument type 'UIViewController'

(vc1 as! UIViewController).show((vc2 as! UIViewController), sender: nil)
Run Code Online (Sandbox Code Playgroud)

注释行不编译.

为什么UIViewController即使Fooable协议需要,我也被迫将协议类型对象强制转换为符合它的类型继承 …

swift swift4

13
推荐指数
2
解决办法
657
查看次数

检查形状之间碰撞的设计模式

我使用各种形状碰撞检测(Rectangle,Circle,Cone,Ring等)所有这些形状都从基抽象派生Shape类.我的游戏对象具有Shape类型的属性.

class GameObject
{
    (...)
    public Shape CollisionShape { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在初始化过程中,我决定将为每个对象使用什么形状,例如:

GameObject person = new GameObject();
person.CollisionShape = new Circle(100); // 100 is radius
Run Code Online (Sandbox Code Playgroud)

现在,当我想检查两个对象是否相交时,我使用以下类:

public class IntersectionChecker
{
   public bool Intersect(Shape a, Shape b)
   {
      Type aType = a.GetType();
      Type bType = b.GetType();

      if( aType == typeof(Rectangle) && bType == typeof(Rectangle))
          return Intersect(a as Rectangle, b as Rectangle);

      if( aType == typeof(Rectangle) && bType == typeof(Circle)) …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns

12
推荐指数
2
解决办法
4697
查看次数

UpdatePanel中的动态创建控件?

我想创建控件,允许用户设计自己的网站结构.我想象里面UpdatePanel是控件(TextBox用于页面名称)和Button'添加到下面'.它看起来像:

|   "Questions" |
| [ add below ] |

|     "Tags"    |
| [ add below ] |

|    "Badges"   |
| [ add below ] |
Run Code Online (Sandbox Code Playgroud)

现在当用户点击"标签"元素中的按钮时,应该在"标签"和"徽章"之间出现新的,具有可编辑的名称,因此用户可以将其命名为"用户".它应该在没有完全回发的情况下完成(以避免页面闪烁).

现在是我的问题:我无法加载onInit中的那些控件(最后不是全部)因为它们不存在,但我必须关注它们的click事件,所以我应该附加事件监听器在Init阶段应该做什么.如何实现所描述的功能?

我玩了太多时间,我很困惑.我会很感激任何提示.

asp.net dynamic-controls

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

不像在LINQ to SQL中那样

我必须使用LINQ to SQL从数据库中选择数据.有条件我应该只选择ID 包含"0000"的记录(整个ID号有六位数).

例如,当我想要选择以"0000"开头的数据时,我将使用:

var idList = (from s
    in db.TABLE
    where s.ID.StartsWith("0000")
    select s.ID
    );
Run Code Online (Sandbox Code Playgroud)

但我需要使用更像NotStartsWithNotContains代替的方法StartsWith.那可能吗?

c# linq-to-sql

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

如何从字符串中剪切指定的单词

有一个禁止的单词列表(或更一般的字符串)和另一个列表,让我们说用户邮件.我想从所有邮件中删除所有被禁止的单词.

琐碎的例子:

foreach(string word in wordsList)
{
   foreach(string mail in mailList)
   {
      mail.Replace(word,String.Empty);
   }
}
Run Code Online (Sandbox Code Playgroud)

我怎么能改进这个算法?


谢谢你的建议.我投了几个答案,但我没有给任何答案标记,因为它更像是讨论而不是解决方案.有些人错过了带有坏词的禁词.在我的情况下,我不必费心去识别'sh1t'或类似的东西.

c# algorithm

5
推荐指数
2
解决办法
2242
查看次数

如何创建技能树?

我想为自己和社区用法创建一个技能树.我的数据格式如下:

skill_1 [description etc.] requires: none
skill_2 [...] requires: skill_1
skill_3 [...] requires: skill_1, skill_2
skill_4 [...] requires: skill_1 OR skill_2
Run Code Online (Sandbox Code Playgroud)

(文明5单位推广的数据格式)

现在我想将这些信息改为图形,树状结构.像:技能树形象

我遇到的主要问题是,当我逐一添加这些技能时,技能之间的联系会纠缠不清,而不是清晰,有用的图片.是否有任何(排序?)算法来防止(或最小化)交叉连接?或者我必须在图形程序中进行手动操作?

algorithm

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

使用 AutoSize=false 防止标签中自动换行

当标签控件的自动大小设置为 false 时,如何防止设计器模式下 Label 控件中的自动换行?

基本上我想在设计器模式下自由移动和调整标签大小,但其文本应始终位于一行(如果需要则剪切)。

谢谢你的帮助!

c# winforms

5
推荐指数
2
解决办法
7611
查看次数

命名空间问题,单个解决方案中的多个项目

我正在从MVC书中跟随示例。我被要求在一个解决方案中创建三个项目(C#库,MVC 2和测试)。我通过右键单击解决方案名称并选择“添加>新项目”来做到这一点。项目名称是:

MVCSample.Domain
MVCSample.WebUI
MVCSample.Test
Run Code Online (Sandbox Code Playgroud)

看起来不错,但是我无法将Domain名称空间从WebUI项目添加到类中。当我using MVCSample.WebUI控件(类形式)中编写语句时,InteliSense提示仅.WebUI作为匹配的结尾。我怎么了

我正在使用VS 2010专业版。

asp.net-mvc namespaces visual-studio-2010

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

以编程方式导航到SwiftUI中的新视图

描述性示例:

登录屏幕,用户点击“登录”按钮,执行请求,UI显示等待指示器,然后在成功响应后,我想自动将用户导航到下一个屏幕。

如何在SwiftUI中实现这种自动转换?

swift swiftui

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