小编gbn*_*gbn的帖子

使用RegEx排除某些字符

尽我所能,我无法获得RegEx来排除空格或单引号.

  • 允许字符串"abc"
  • 不允许:"a'bc","'","'abc","'''","abc"等
  • 在上面的例子中,空格也可以取代'
  • 假设已经删除了尾随和前导空格
  • 其他地方检查空字符串
  • 目标语言是javascript

如果我在SQL中,我会使用PATINDEX.

如果我可以否定的话,或者不是空格或单引号的正面匹配......

我试过了(仅限单引号)

  • \w*[^']\w*
  • ^\w*[^']\w*$
  • 别人,我现在忘了

请把我从痛苦中解救出来让我今晚能入睡.

编辑:

  • 目标字符串不会被引号包围.我以为你可能会增加清晰度
  • 如果"目标语言是javascript"是错误的,那么它就是c#.我必须确切地检查我们在哪里进行验证:客户端javascript或服务器c#

javascript regex

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

我可以在NOT NULL字段中插入空字符串吗?

我可以在非空字段中插入空字符串吗?

insert into xyz(A,B) values(1,'');  // is this possible if B is NOT NULL?
Run Code Online (Sandbox Code Playgroud)

sql

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

如何获得Visual Studio 2008 SP1的BIDS?

我目前使用的是Visual Studio 2008 SP1,并且已将旧项目迁移到VS2008,但现有的SSIS和SSRS(2005)项目与VS2008不兼容.将这些BIDS项目作为单独的解决方案进行维护是一件痛苦的事.

我一直在考虑升级到SQL2008但是因为我们的开发,测试和生产平台都是SQL2005企业版,我不喜欢将我的本地环境偏离当前标准的想法.尽管想要VS2008的BIDS.

我刚刚安装了Sql Express 2008,其中包含所有的内容和一些东西...... Sql Express 2008是否只安装了我需要的所有BIDS位而无需升级本地版本的Sql Server?

这是为VS2008安装BIDS的可行方法还是我遗漏了什么?

UPDATE

我只是想一想......为什么我不能从完整的SQL Server 2008安装工具,因为我可以访问它.

还有一个问题是Express 2008和完整的Sql Server 2008之间的工具有什么不同.

bids sql-server-express sql-server-2008 visual-studio-2008

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

如何从SQLServer SELECT语句返回新的IDENTITY列值?

我正在插入带有自动增量键字段的SQLServer表.(我相信这在SQLServer中称为IDENTITY列.)

在Oracle中,我可以使用RETURNING关键字为我的INSERT语句提供一个结果集,就像SELECT查询一样,它将返回生成的值:

INSERT INTO table
(foreign_key1, value)
VALUES
(9, 'text')
RETURNING key_field INTO :var;
Run Code Online (Sandbox Code Playgroud)

如何在SQLServer中完成此操作?

额外奖励:好的,到目前为止答案很好,但如果可能的话,如何将其写入单一陈述?:)

sql t-sql sql-server identity auto-increment

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

Sql Server 2008视图中的ORDER BY

我们的数据库中有一个ORDER BY的视图.现在,我意识到观点通常不会排序,因为不同的人可能会将它用于不同的事情,并希望它有所不同.然而,该视图用于需要特定订单的非常特定的用例.(这是足球联赛的球队排名.)

该数据库是Windows Server 2003 R2上的Sql Server 2008 Express,v.10.0.1763.0.

视图定义如下:

CREATE VIEW season.CurrentStandingsOrdered
AS
    SELECT TOP 100 PERCENT *, season.GetRanking(TEAMID) RANKING   
    FROM season.CurrentStandings 
    ORDER BY 
        GENDER, TEAMYEAR, CODE, POINTS DESC, 
        FORFEITS, GOALS_AGAINST, GOALS_FOR DESC, 
        DIFFERENTIAL, RANKING
Run Code Online (Sandbox Code Playgroud)

它返回:

GENDER, TEAMYEAR, CODE, TEAMID, CLUB, NAME,  
WINS, LOSSES, TIES, GOALS_FOR, GOALS_AGAINST,  
DIFFERENTIAL, POINTS, FORFEITS, RANKING
Run Code Online (Sandbox Code Playgroud)

现在,当我对视图运行SELECT时,它按GENDER,TEAMYEAR,CODE,TEAMID命令结果.请注意,它是按TEAMID而不是POINTS排序,因为order by子句指定.

但是,如果我复制SQL语句并完全按照新查询窗口中的方式运行它,它将按照ORDER BY子句的指定正确排序.

sql t-sql view sql-order-by sql-server-2008

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

当这是附加的触发器时,Linq-to-sql在插入和更新时失败

我最近遇到了linq-to-sql的一些问题.问题是,当我们有一个附加到事件的触发器时,它"认为"它在插入和更新时失败.一个示例可以是一行,其中附加了一个触发器,以便在更改行时将"LastUpdated"冒号设置为当前时间.这将导致linq-to-sql认为在更新或插入时失败,但这只是有时候,因为它有时会通过,我认为这是当sql服务器负载很重的时候因此不能在进行验证之前执行触发器,这只是猜测.因为我的脚本只是一个更大的脚本的一部分,所以禁用触发器不是一个选项,所以我需要找到一个解决方案,或重写我的程序.您是否遇到过这个问题并找到了解决方案,例如在插入后禁用验证?

触发.

USE [cnhha]
GO
/****** Object:  Trigger [dbo].[LastUpdated]    Script Date: 05/12/2011 16:26:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[LastUpdated] ON [dbo].[CN_User] 
FOR INSERT, UPDATE
AS

update cn_user set lastupdated=getdate() where campusnetuserid in (select campusnetuserid from inserted)
Run Code Online (Sandbox Code Playgroud)

sql-server linq-to-sql

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

执行if @@ rowcount> 0将@@ rowcount重置为0.为什么?

链接

@@ Rowcount用于通知最后一个select,insert,update或delete语句受影响的行数

declare @row int select 100 if @@rowcount>0  set @row=@@rowcount ...
Run Code Online (Sandbox Code Playgroud)

以上将返回0,因为一旦if @@rowcount>0执行它将重置为0,因为它不返回任何行.所以总是先分配给变量

为什么语句if @@rowcount>0重置@@rowcount为0?是否 @@rowcount仅受select,insert,update和delete语句的影响?

谢谢

t-sql

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

如何找出用于访问SQL Server的用户名和计算机名

我的工作公司有一个MSSQL服务器2005.我有两个问题,关于找出当前的日志用户以及发送警告消息的任何方式:

第一个问题是,是否有任何T-SQL或SP可用于查找当前登录用户名和机器名.如果用户使用SQL Server sa名称远程访问SQL Server,有没有办法找出该用户的Windows名称(登录到Windows的名称)?

我的下一个问题是,如果我可以获取用户名或ID,是否有任何方法可以发出警告消息,例如"当前SQL服务器正在清理或备份,请不要在此时登录".我想这可能很难.我可能不得不向用户发送电子邮件.

SQL服务器只能在公司中访问.SQL服务器有一个用户列表作为登录用户:Windows用户,SQL用户和sa.

sql t-sql sql-server sql-server-2005

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

如何在动态查询中连接uniqueidentifier

我有一个动态查询,我想连接uniqueidentifier,但+和&运算符不支持这个,有没有办法我可以将uniqueidentifier连接到动态字符串.在这方面的任何样本或任何帮助将被高度评价.

sql-server dynamic

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

数组中的默认值

这样的数组的默认值是什么:

char c[20];
Run Code Online (Sandbox Code Playgroud)

顺便说一句,有吗?

c++ arrays

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