小编Ali*_*cia的帖子

SQL:如果该值为null,如何更新列上的值?

我有一个SQL问题,这可能是一些基本的,但令我感到困惑.

以下是表'Person'的列名称示例:PersonalID,FirstName,LastName,Car,HairColour,FavDrink,FavFood

假设我输入了一行:

121312,Rayna,Pieterson,BMW123d,Brown,NULL,NULL

现在我想更新此人的值,但仅当新值不为null时,更新:

121312,Rayna,Pieterson,NULL,Blonde,Fanta,NULL

新行必须是:

121312,Rayna,Pieterson,BMW123d,Blonde,Fanta,NULL

所以我想的是:

更新人(PersonalID,名字,姓氏,租车,染发,FavDrink,FavFood)设置汽车= @Car(其中@Car不为空),染发= @HairColour(其中@HairColour ...)...等等.

我唯一担心的是我无法在查询结束时对所有条件进行分组,因为它将要求所有值具有相同的条件.如果@HairColour不是Null,我不能像Update HairColour那样做

mysql sql sql-server where-clause sql-update

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

使用Wix编辑Web.Config连接字符串设置

我目前正在尝试修改我的Wix(V3.5)安装程序以编辑我想要安装的.NET应用程序的Web.config设置.这适用于普通的ASP.NET应用程序,但现在我尝试将我的Wix设置项目应用于Entity Framework .NET应用程序,您可能知道它具有更复杂的连接字符串设置,模型.csdl和.ssdl设置.

因此,如果我的web.config连接字符串设置看起来像这样:(其中[DBSERVER]和[DBNAME]是从对话框中恢复的属性)

  <connectionStrings>
   <add name="SSITacticalSolutionEntities" connectionString="metadata=res://*/Model.TacticalSolutionModel.csdl|res://*/Model.TacticalSolutionModel.ssdl|res://*/Model.TacticalSolutionModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=sd-sql2008r2;Initial Catalog=SsiTacticalSolution1.2.4;Integrated Security=True;MultipleActiveResultSets=True&quot; />
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我在我的Product.Wsx文件中编辑我的Web.config,其中包含以下内容:

   <util:XmlFile Id="ModifyConnectionString" Action="setValue" Permanent="yes" File="[INSTALLLOCATION]Web.config"
                  ElementPath="/configuration/connectionStrings/add[\[]@name='!(loc.EntityName)'[\]]" Name="connectionString"
                  Value="Data Source=[DBSERVER];Initial Catalog=[DBNAME];Integrated Security=true;providerName=System.Data.EntityClient;MultipleActiveResultSets=True&quot;"   Sequence="5"/>
Run Code Online (Sandbox Code Playgroud)

我得到一个像这样的连接字符串:

  <connectionStrings>
      <add name="SSITacticalSolutionEntities" connectionString="Data Source=sd-sql2008r2;Initial Catalog=SsiTacticalSolution1.2.4;Integrated Security=true;providerName=System.Data.EntityClient;MultipleActiveResultSets=True&quot;"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

这当然有意义,因为我要求它用我在值中定义的内容替换当前的连接字符串属性.

但我真正需要的是编辑我的连接字符串的特定部分并留下余数(我可以在这里使用某种替换操作),即保留所有模型设置并只更换数据库服务器和名称等因为我需要.我以前使用Visual Studio安装程序这样做没有问题,它很容易使用.

所以我的问题是可以使用util.XMLFile或者util:XmlConfig来完成吗?我没有运气就试过了.

或者这不可能与util.XMLFile一起使用,我是否必须在CustomAction中执行此操作?任何想法都会有很大的帮助,在此先感谢...

.net entity-framework wix wix3.5

8
推荐指数
1
解决办法
8630
查看次数

如何修复错误 1726 (HY000):存储引擎“MyISAM”不支持系统表。在 Mysql 8.0 中创建用户后

我安装了Debian Stretch和新安装的Mysql 8.0(配置还没有变化)。当我尝试使用以下内容创建新用户时:

mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'xyz';
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

错误 1726 (HY000):存储引擎“MyISAM”不支持系统表。[mysql.db]

关于问题可能是什么的任何建议?

谢谢

createuser mysql-8.0

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

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

Pyserial:“模块‘serial’没有‘tools’属性”

我有一些设备通过RS485 到 USB 转换器连接到我的笔记本电脑,并希望在 python 程序中检测它们。

我在Windows 7 Notebook 上使用PyCharm Community Edition运行此代码,我已经使用 pip 安装了 pyserial。

导入序列

x = list(serial.tools.list_ports.comports())
print(x)
Run Code Online (Sandbox Code Playgroud)

并得到这个错误:

回溯(最近一次调用):文件“C:/Users/rzzrgx/.PyCharmCE2018.3/config/scratches/scratch_1.py”,第 3 行,在 x = list(serial.tools.list_ports.comports()) AttributeError :模块“串行”没有属性“工具”

python pyserial python-3.x

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

MVC Windows身份验证 - 授权(权限)整个站点

我已经看到AuthoriseAttribute可以为每个单独的控制器工作,我想要做的是将整个站点权限设置为一个AD组,这很容易做或者我应该只将authattrib行复制并粘贴到每个控制器?

谢谢

asp.net-mvc authorization

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

在RDLC报告中总结时间

在我的RDLC报告中,我显示了员工的工作时间.

我想总结一下每个员工的时间.我使用可空的timeSpan类型返回记录集中的工作时间,并在报告中将它们格式化为hh:mm,如下所示:

7:30   
4:45  
5:30  
7:30  
7:30
Run Code Online (Sandbox Code Playgroud)

已经有大约在同一问题提出许多其他问题,比如这个, 这个,但没有似乎有一个可以接受的答案.

这个问题几乎就是我想要的.除了显示日,小时,分钟,秒.
但是我的用户只想要总小时和分钟,没有天,即在这种情况下我希望看到32小时45分钟.

7:30   
4:45  
5:30  
7:30  
7:30

---------
Total:    32:45
Run Code Online (Sandbox Code Playgroud)

我尝试了以下公式,但我得到了#error:

=TimeSpan.FromMinutes(Sum(Fields!Hours.Value))
Run Code Online (Sandbox Code Playgroud)

而且:

=Sum(Fields!Hours.Value)
Run Code Online (Sandbox Code Playgroud)

这个给了我几天,几小时,几分钟......所以很接近,但我只需要总数......:

=TimeSpan.FromTicks(Sum(Fields!Hours.Value))
Run Code Online (Sandbox Code Playgroud)

这可能吗 ?

c# timespan rdlc visual-studio-2013

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