最近很多小伙伴都在问SQLSELECT*FROMXXXWHERE数组中的columnName和sqlwherein数组这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展ActiveM
最近很多小伙伴都在问SQL SELECT * FROM XXX WHERE数组中的columnName和sql where in 数组这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展ActiveMQ 报错 Could not connect to xxxxxxx , hostname can‘t be null、C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).、Cannot convert value ''0000-00-00 00:00:00'' from column XX to TIMESTAMP.、docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied等相关知识,下面开始了哦!
本文目录一览:- SQL SELECT * FROM XXX WHERE数组中的columnName(sql where in 数组)
- ActiveMQ 报错 Could not connect to xxxxxxx , hostname can‘t be null
- C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
- Cannot convert value ''0000-00-00 00:00:00'' from column XX to TIMESTAMP.
- docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied
SQL SELECT * FROM XXX WHERE数组中的columnName(sql where in 数组)
我正在处理一些SQL代码。
我熟悉语法
SELECT * FROM myTable WHERE myColumn in (''1'',''2'',''3'');
假设我要在要使用的C#数组中编写一些C#代码(''1'',''2'',''3'')
。我怎么做?
答案1
小编典典您可以动态构建SQL字符串。
如果您知道数组中的数据很好(用户未提供),则只需执行一个string.Join。
var sql = string.Format("SELECT * FROM myTable WHERE myColumn in ({0})", string.Join(", ", myArray));
如果您不知道它是经过清理的数据,则应使用带有参数的Command。
var myArray = new string[] { "1", "2", "3" };//var sql = string.Format("SELECT * FROM myTable WHERE myColumn in ({0})", string.Join(", ", myArray));var cmd = new System.Data.SqlClient.SqlCommand();var sql = new System.Text.StringBuilder();sql.Append("SELECT * FROM myTable WHERE myColumn in (");for (var i = 0; i < myArray.Length; i++){ cmd.Parameters.Add("@" + i, myArray[i]); if (i > 0) sql.Append(", "); sql.Append("@" + i);}sql.Append(")");cmd.CommandText = sql.ToString();
ActiveMQ 报错 Could not connect to xxxxxxx , hostname can‘t be null
报错信息:
原因:
根据这个 url 链接不上 ActiveMQ 服务。
解决方案:
1. 确认 ActiveMQ 服务已经开启,可以查看服务进程,也可以通过登录服务器管理页面确认。
2. 把 127.0.0.1 改成自己的 ip 地址, 本机就改成内网地址,例如我:
C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
一、问题描述
在做C# 的 Guid 转换时,出现这个问题:Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). 中文翻译是:guid应包含32位数字和4个破折号(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX)。
二、解决方案
看我们转换的字符串是否满足这个条件:guid应包含32位数字和4个破折号(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX),不满足修改满足即可!
三、案例
我在转换的时候,由于我需要转换的字符串,不满足guid的规则,才出现这个错误。
仔细观察,我需要转换的字符串,根本就不满足 guid 的特点,当我把 ar 中的 “ " ” 号去掉就可以了。
OK,转换完成!
---------------修改2019年05月09日---------------------
因为我的 DataId 本来就是一个Json 字符串,所以没有必要去使用 Replace() 、Split(),直接使用 JsonConvert 操作多好,所以我改为:
var items = JsonConvert.DeserializeObject<List<Guid>>(_recordBookRepository.Get(input.RecordBookId).DataId);
让专业的方法,处理专业的事情,是否是最优解。
---------------修改2019年05月23日---------------------
判断 Guid 是否为空。
传入的参数:
/// <summary>
/// id
/// </summary>
public Guid? StatGroupId { get; set; }
判断是否为空:
var boolStatGroup = input.StatGroupId.HasValue && input.StatGroupId != Guid.Empty;
Cannot convert value ''0000-00-00 00:00:00'' from column XX to TIMESTAMP.
Cannot convert value ''0000-00-00 00:00:00'' from column 4 to TIMESTAMP.docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied
今天在测试环境上用docker安装测试环境,在@R_301_5161@ 里面,调用外部文件,显示cant open xxx.conf问题。
解决问题思路:
1、 看到pressmission denied 就猜到最大原因 可能是权限问题。只有权限问题才会报这个错误
2、看手册,找解决办法。
网上各种查资料,发现原因是CentOS7中的安全模块selinux把权限禁掉了,
解决办法
1、在控制台里面输入 setenforce 0 关闭 selinux
2、 在docker 文档里面发现了 --privileged=true 但是,我是写的docker-compose.yml 举一反三。docker-compose 是docker命令的集合
在docker-compose 服务 里面 增加 privileged: true
今天关于SQL SELECT * FROM XXX WHERE数组中的columnName和sql where in 数组的分享就到这里,希望大家有所收获,若想了解更多关于ActiveMQ 报错 Could not connect to xxxxxxx , hostname can‘t be null、C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).、Cannot convert value ''0000-00-00 00:00:00'' from column XX to TIMESTAMP.、docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied等相关知识,可以在本站进行查询。
本文标签: