标签: sql-server

C#等效于SQL Server中的IsNull()函数

在SQL Server中,您可以使用该IsNull()函数检查值是否为null,如果是,则返回另一个值.现在我想知道C#中是否有类似的东西.

例如,我想做类似的事情:

myNewValue = IsNull(myValue, new MyValue());
Run Code Online (Sandbox Code Playgroud)

代替:

if (myValue == null)
  myValue = new MyValue();
myNewValue = myValue;
Run Code Online (Sandbox Code Playgroud)

谢谢.

.net c# sql-server isnull

107
推荐指数
4
解决办法
17万
查看次数

从sql server中的字符串中删除html标签的最佳方法?

我在SQL Server 2005中有包含html标签的数据,我想将所有内容删除,只留下标签之间的文本.理想的情况下也更换喜欢的东西&lt;<

有没有一种简单的方法可以做到这一点,或者有人已经有一些示例t-sql代码?

我没有能力添加扩展存储过程等,所以更喜欢纯t-sql方法(最好是一个向后兼容sql 2000).

我只想用剥离的html检索数据,而不是更新它,所以理想情况下它会被写成用户定义的函数,以便于重用.

所以例如转换这个:

<B>Some useful text</B>&nbsp;
<A onclick="return openInfo(this)"
   href="http://there.com/3ce984e88d0531bac5349"
   target=globalhelp>
   <IMG title="Source Description" height=15 alt="Source Description" 
        src="/ri/new_info.gif" width=15 align=top border=0>
</A>&gt;&nbsp;<b>more text</b></TD></TR>
Run Code Online (Sandbox Code Playgroud)

对此:

Some useful text > more text
Run Code Online (Sandbox Code Playgroud)

html sql sql-server string sql-server-2005

107
推荐指数
5
解决办法
19万
查看次数

用于选择前一天所有行的SQL语句

我正在寻找一个好的SQL语句来从一个表中选择前一天的所有行.该表包含一个日期时间列.我正在使用SQL Server 2005.

sql sql-server sql-server-2005

107
推荐指数
6
解决办法
35万
查看次数

以随机顺序返回行

是否有可能编写每次查询运行时以随机顺序返回表行的SQL查询?

sql t-sql sql-server

106
推荐指数
3
解决办法
13万
查看次数

用于在SQL Server中存储ip地址的数据类型

我应该选择什么数据类型在SQL Server中存储IP地址?

通过选择正确的数据类型,可以很容易地按IP地址进行过滤吗?

t-sql sql-server types sql-server-2005 ip-address

106
推荐指数
7
解决办法
9万
查看次数

IDENTITY_INSERT设置为OFF - 如何将其打开?

我有一个已删除的文件存档数据库,它存储了已删除文件的ID,我希望管理员能够恢复该文件(以及链接文件的相同ID).我不想将identity_insert从整个表中删除,因为一个增量很有效.在我的插入TBL_Content存储过程中,我有类似的东西

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
SET IDENTITY_INSERT tbl_content ON
GO

ALTER procedure [dbo].[spInsertDeletedIntoTBLContent]
@ContentID int, 
...insert command...
SET IDENTITY_INSERT tbl_content OFF
Run Code Online (Sandbox Code Playgroud)

但我一直得到同样的错误:

当IDENTITY_INSERT设置为OFF时,无法在表'TBL_Content'中为标识列插入显式值.

有帮助吗?

sql t-sql sql-server

106
推荐指数
7
解决办法
35万
查看次数

ExecuteReader需要一个开放且可用的连接.连接的当前状态为"正在连接"

当尝试通过ASP.NET在线连接到MSSQL数据库时,当两个或更多人同时连接时,我将得到以下信息:

ExecuteReader需要一个开放且可用的连接.连接的当前状态为"正在连接".

该站点在我的localhost服务器上正常工作.

这是粗略的代码.

public Promotion retrievePromotion()
{
    int promotionID = 0;
    string promotionTitle = "";
    string promotionUrl = "";
    Promotion promotion = null;
    SqlOpenConnection();
    SqlCommand sql = SqlCommandConnection();

    sql.CommandText = "SELECT TOP 1 PromotionID, PromotionTitle, PromotionURL FROM Promotion";

    SqlDataReader dr = sql.ExecuteReader();
    while (dr.Read())
    {
        promotionID = DB2int(dr["PromotionID"]);
        promotionTitle = DB2string(dr["PromotionTitle"]);
        promotionUrl = DB2string(dr["PromotionURL"]);
        promotion = new Promotion(promotionID, promotionTitle, promotionUrl);
    }
    dr.Dispose();
    sql.Dispose();
    CloseConnection();
    return promotion;
}
Run Code Online (Sandbox Code Playgroud)

我可能知道可能出了什么问题,我该如何解决?

编辑:不要忘记,我的连接字符串和连接都是静态的.我相信这就是原因.请指教.

public static string conString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
public static SqlConnection conn …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server ado.net database-connection

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

何时使用SELECT ... FOR UPDATE?

请帮我理解背后的用例SELECT ... FOR UPDATE.

问题1:以下是SELECT ... FOR UPDATE应该何时使用的一个很好的例子?

鉴于:

  • 客房[ID]
  • 标签[id,name]
  • room_tags [room_id,tag_id]
    • room_id和tag_id是外键

该应用程序希望列出所有房间及其标签,但需要区分没有标签的房间与已移除的房间.如果未使用SELECT ... FOR UPDATE,可能发生的情况是:

  • 原来:
    • 房间包含 [id = 1]
    • 标签包含 [id = 1, name = 'cats']
    • room_tags包含 [room_id = 1, tag_id = 1]
  • 线程1: SELECT id FROM rooms;
    • returns [id = 1]
  • 线程2: DELETE FROM room_tags WHERE room_id = 1;
  • 线程2: DELETE FROM rooms WHERE id = 1;
  • 线程2:[提交交易]
  • 线程1: SELECT tags.name FROM room_tags, tags WHERE room_tags.tag_id = 1 AND tags.id …

mysql sql sql-server transactions select-for-update

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

T-Sql中是否有三元运算符?

有哪些替代方法可以实现以下查询:

select *  
from table  
where isExternal = @type = 2 ? 1 : 0
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

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

如何在SQL Server中获取上个月的第一天和最后一天(带时间戳)

我找不到上个月的第一天和最后一天带有时间戳的解决方案.希望这有助于其他人.如果已经有解决这个问题的方法,我道歉.

这是解决方案.

 SELECT DATEADD(month, DATEDIFF(month, -1, getdate()) - 2, 0) as FirtDayPreviousMonthWithTimeStamp,
    DATEADD(ss, -1, DATEADD(month, DATEDIFF(month, 0, getdate()), 0)) as LastDayPreviousMonthWithTimeStamp
Run Code Online (Sandbox Code Playgroud)

这将返回以下if currentdate = '2012-7-31'

结果: 2012-06-01 00:00:00.000 2012-06-30 23:59:59.000

这将返回以下if currentdate = '2012-1-1'

结果: 2011-12-01 00:00:00.000 2011-12-31 23:59:59.000

sql-server datetime

105
推荐指数
6
解决办法
42万
查看次数