小编Bet*_*eth的帖子

UPDATE和REPLACE字符串的一部分

我有一个有两列的表,IDValue.我想在第二列中更改某些字符串的一部分.

表格示例:

ID            Value
---------------------------------
1             c:\temp\123\abc\111
2             c:\temp\123\abc\222
3             c:\temp\123\abc\333
4             c:\temp\123\abc\444
Run Code Online (Sandbox Code Playgroud)

现在,123\Value字符串是不必要的.我试着UPDATEREPLACE:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
Run Code Online (Sandbox Code Playgroud)

当我执行脚本时,SQL Server不会报告错误,但它也不会更新任何内容.这是为什么?

sql sql-server string replace sql-server-2008

392
推荐指数
6
解决办法
79万
查看次数

使用嵌套查询更新语句

我有一张桌子:

mytable:
    id
    userID
    logDate
    lastLogDate
Run Code Online (Sandbox Code Playgroud)

对于该表中的每一行,我想将'lastLogDate'列更新为每个用户的logDate的最大值...

从概念上讲,每个用户都应该有一个lastLogDate =返回的值:

select max(logDate) from mytable group by userID
Run Code Online (Sandbox Code Playgroud)

有人可以帮我写那个更新声明吗?

sql

28
推荐指数
3
解决办法
6万
查看次数

键值表上的SQL Server PIVOT

我有一个基于键值的属性表.例:

CREATE TABLE ObjectAttributes
(
  int objectId, key nvarchar(64), value nvarchar(512)
)
Run Code Online (Sandbox Code Playgroud)

当我从中选择时,我得到:

objectId  key      value
----------------------------
1         Key 1    Value 1
1         Key 2    Value 2
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以使用PIVOT语法将其转换为:

objectId  Key 1     Key 2
---------------------------
1         Value 1   Value 2
Run Code Online (Sandbox Code Playgroud)

我知道我的所有表都有相同的键.(不幸的是我不能轻易改变表格结构.这就是导致我尝试使用PIVOTS的原因).

这里最大的问题是枢轴需要使用聚合函数.有办法避免这种情况吗?尝试这个我完全错了吗?或者有更好的解决方案吗?

pivot sql-server-2005

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

找不到程序集 - System.Reactive.Debugger

我已经安装了visual studio 2010 express,然后安装了Reactive Extensions 2.0.当我在调试模式下启动我的应用程序时,抛出异常后使用反应式扩展的部分代码:

    The assembly with display name 'System.Reactive.Debugger' failed to load in the 'Load' binding context of the AppDomain with ID 1. The cause of the failure was: 

System.IO.FileNotFoundException: Could not load file or assembly 

'System.Reactive.Debugger, Version=2.0.20823.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies
Run Code Online (Sandbox Code Playgroud)

问题是我无处可找到这个dll - System.Reactive.Debugger.

visual-studio-2010 reactive-extensions-js

8
推荐指数
0
解决办法
694
查看次数

如何在Microsoft Word中搜索和替换涉及字段?

我有一个带有参考品种字段的Word文档,它以"[field].[field]"的形式出现 - 换句话说,两个字段之间有一段时间.我想全局用空格替换它.

Word提供^ d特殊字符来搜索字段,但由于某种原因,查询"^ d.^ d"找不到任何内容.但是,".^ d"确实如此.现在出现了问题 - 为了保留字段代码,我应该指定什么作为替换文本?如果使用正则表达式,我可以使用"查找什么表达式",例如\ 1,但是使用regexp("通配符")模式时,不允许使用^ d.

我想我可以写一个宏......

ms-word fieldcodes

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

如何在 Word 中对 MERGEFIELD 进行子串?

这个让我很疑惑。这似乎是一项简单的任务,但解决方案让我望而却步: - 如何在用于邮件合并的 Word 模板中对合并字段进行子串化?

例如,我有类似的东西{MERGEFIELD barcodevalue},我想提取前 6 个字符,因为它同时是其他东西的标识符。

我可以找到有关如何删除数字字段中给定位置左侧(\x)而不是右侧的字符的信息。

ms-word word-field fieldcodes

6
推荐指数
1
解决办法
5853
查看次数

我的用户可以注入我的动态sql吗?

我是一名为内部用户编写的桌面开发人员,因此我并不担心恶意黑客,但我想知道在更新将在服务器上执行sql的值时是否有任何东西可以输入.

业务定义了他们的内容模式,我有一个CRUD应用程序,当模式更改时不必更改它们,因为验证详细信息是由表驱动的,而更新是使用动态SQL.我必须在他们的数据条目中支持单引号,所以当他们输入它们时,我会在服务器上执行SQL之前将它们加倍.然而,从我读过的内容来看,这不足以阻止注射.

所以我的问题是,他们可以在自由格式文本字段中输入哪些文本可以更改服务器上的内容而不是存储为字面值?

基本上,我在运行时构建一个遵循模式的SQL语句:

update table set field = value其中pkField = pkVal

使用这个VB.NET代码:

Friend Function updateVal(ByVal newVal As String) As Integer
    Dim params As Collection
    Dim SQL As String
    Dim ret As Integer

    SQL = _updateSQL(newVal)
    params = New Collection
    params.Add(SQLClientAccess.instance.sqlParam("@SQL", DbType.String, 0, SQL))
    Try
        ret = SQLClientAccess.instance.execSP("usp_execSQL", params)
    Catch ex As Exception
        Throw New Exception(ex.Message)
    End Try
    Return ret
End Function

Private Function _updateSQL(ByVal newVal As String) As String
    Dim SQL As String
    Dim useDelimiter As Boolean = (_formatType …
Run Code Online (Sandbox Code Playgroud)

vb.net sql-server-2005

6
推荐指数
1
解决办法
622
查看次数

在MS Word字段中显示日期差异

我有个简历,想在开业时自动更新我的年龄.那么,我应该在MS Word字段中插入什么公式?

就像是:

{= {DATE} - {"01/01/1983"} }

ms-word word-field fieldcodes

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

Visual Studio 2010,Visual Studio 2008和ClickOnce的Crystal Report

我在这里遇到了一些麻烦.我大约4周前将我们的Winforms产品之一从VS2008升级到VS2010.转换很好,但我们使用了Crystal Reports,因此不得不为Visual Studio 2010 Beta 2安装VS2010 Crsytal报告.这很好,并且给了我设计师等回来的水晶.当解决方案打开时,我选择不转换报告,因此它们仍然设置为原始版本的水晶.

然后我们继续进行了为期4周的开发,现在我在Vsiaul Studio 2010下进行了第一次ClickOnce部署,我遇到了严重的问题.ClickOnce应用程序文件设置为将CrystalReports相关模块作为先决条件.我仍然希望最终用户使用Crystal Reports for VS2008而不是2010年的运行时,这是非常大的和beta版.

当我发布清单时,说水晶的依赖是版本14.0.2000.0(VS2010版本的水晶报告)但项目中的所有DLL引用都设置为使用特定版本并指向10.5.3700.0(VS2008版本的水晶报告).这意味着当尝试从ClickOnce安装时,它失败了:

"无法安装或运行应用程序应用程序需要首先在全局程序集缓存(GAC)中安装程序集CrystalDecisions.CrystalReports.Engine版本14.0.2000.0"

我无法弄清楚为什么清单意图使用该版本号,因为所有引用都指向另一个版本.如果我将beta版的VS2010晶体运行时捆绑到ClickOnce部署中,则客户端会收到相反的错误消息,指出需要10.5.3700.0.如果我在客户端上安装10.5.3700.0,他们就会得到一个正常工作的系统,但是我必须手动安装10.5.3700.0版本,在此之前他们首先必须忍受2010年运行时(14.0.2000.0)的史诗安装.甚至得到使用.

基本上我试图让清单说10.5.3700.0或弄清楚为什么VS2010打算在那里放一个更新的版本号.

请帮忙.谢谢

.net c# clickonce visual-studio-2010 crystal-reports

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

寻找具有良好血压控制的患者

我有这样的结果数据库

patient integer
rdate date
rvalue integer
rtype vchar
Run Code Online (Sandbox Code Playgroud)

患者在给定日期进行(0 ... n)血压测量.我需要找到那些上次就诊的患者包括血压测量,并且在那次就诊时舒张压<90且收缩压<140.

我可以像这样检查最后一次只检查收缩压测量值

select patient, max(rdate) as maxdate 
from results 
where rtype = 'systolic' and rvalue > 0 
group by patient
Run Code Online (Sandbox Code Playgroud)

如何选择min(rvalue)<140?

sql

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