小编Din*_*ale的帖子

Json.Net - 从'System.Net.IPAddress'上的'ScopeId'获取值时出错

我试图用Json.Net序列化IPEndpoint对象,我收到以下错误:

从'System.Net.IPAddress'上的'ScopeId'获取值时出错.

导致错误的原因是我只使用端点中IPAddress对象的IPV4属性.当Json解析器尝试解析IPv6部分时,它会访问ScopeID属性,该属性会抛出套接字异常"对于引用的对象类型,不支持尝试的操作"(null将足以支持microsoft!)

我想知道除了撕掉一切并将地址信息编码为字符串之外是否还有其他解决方法?在某些时候,我确实想支持IPV6.如果IPAddress系列设置为Internetwork而不是InternetworkIPV6,是否有任何可以在Json.NET中完成忽略错误或只是不尝试序列化ScopeID?

谢谢,

Dinsdale

.net c# system.net json.net

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

C#Datetime到ODBC日期时间转换错误

我们正在尝试将ODBC与SQL Server 2012一起用于我们的新应用程序,因为MS正逐步淘汰OleDb,我们希望尝试将其移植到其他数据库变得容易(更容易?).

问题是,当我尝试使用ODBC数据访问类时,我在尝试保存日期时遇到以下错误:

错误[22008] [Microsoft] [SQL Server Native Client 11.0]日期时间字段溢出.小数秒精度超出参数绑定中指定的小数.

好吧,我得到那种.C#具有比ODBC参数想要使用的更高级别的精度.我知道ODBC实现不喜欢几分之一秒,但是保留日期时间精度的工作是什么?

谢谢,

Dinsdale

编辑:好的,这是原始参数构造函数:

String Name = "created";
DateTime DateTimeValue = DateTime.Now;
OdbcCommand cmd = new OdbcCommand();
cmd.CommandType = request.CommandType;
cmd.CommandText = request.Command;
OdbcParameter param;
param = new OdbcParameter(Name, OdbcType.DateTime);
param.Value = DateTimeValue;
cmd.Parameters.Add(param);
Run Code Online (Sandbox Code Playgroud)

此代码生成以下错误:错误[22008] [Microsoft] [SQL Server Native Client 11.0]日期时间字段溢出.小数秒精度超出参数绑定中指定的小数.

修复是使用扩展构造函数,如下所示:

param = new OdbcParameter(Name, OdbcType.DateTime, 23, System.Data.ParameterDirection.Input, false, 0, 3, Name, DataRowVersion.Current, DateTimeValue);
Run Code Online (Sandbox Code Playgroud)

再次感谢Kumod!Dinsdale

c# sql sql-server datetime odbc

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

正则表达式匹配错误的模式

我正在尝试使用正则表达式向前看文本中的文本,并在此答案中查看foudn:

正则表达式,用于查找包含在两个字符之间的字符串,同时排除分隔符

我必须与之合作的分界线是

开始: RQ

结束: END-RQ

我添加了以下(powershell)代码:

$regex = [regex] '(?<=RQ)(.*?)(?=END-RQ)' 

$matches = $regex.Matches($concat) 
Run Code Online (Sandbox Code Playgroud)

问题是匹配是从END-RQ抓取RQ作为下一个模式的开始.任何人都可以告诉我如何消除它(例如强制正则表达式完全匹配RQ和END-RQ)?即使引号被转义,将引号中的匹配模式包装似乎也不起作用.

c# regex powershell

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

标签 统计

c# ×3

.net ×1

datetime ×1

json.net ×1

odbc ×1

powershell ×1

regex ×1

sql ×1

sql-server ×1

system.net ×1