Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 代码>时间戳STR?这是你所期望的吗?@Dion:Yap还好吗?>timeStamp.ToString(“yyy-MM-dd hh:MM:ss”);hh获取12小时变量,请确保12-24小时格式的时间正确。例如13:30而不是01:00:30@SonerG_C#_Mysql_String - Fatal编程技术网

C# 代码>时间戳STR?这是你所期望的吗?@Dion:Yap还好吗?>timeStamp.ToString(“yyy-MM-dd hh:MM:ss”);hh获取12小时变量,请确保12-24小时格式的时间正确。例如13:30而不是01:00:30@SonerG

C# 代码>时间戳STR?这是你所期望的吗?@Dion:Yap还好吗?>timeStamp.ToString(“yyy-MM-dd hh:MM:ss”);hh获取12小时变量,请确保12-24小时格式的时间正确。例如13:30而不是01:00:30@SonerG,c#,mysql,string,C#,Mysql,String,代码>时间戳STR?这是你所期望的吗?@Dion:Yap还好吗?>timeStamp.ToString(“yyy-MM-dd hh:MM:ss”);hh获取12小时变量,请确保12-24小时格式的时间正确。例如13:30而不是01:00:30@SonerGönül是的,我一按“回车”就意识到这是错的。我正在删除原始注释。您是否调试了timeStampStr的实际值?这就是你所期望的吗?@Dion:Yap还好吗..最后我在客户端调试程序中找到了字符串参数值。它看起来是正确的,但如上所述,我不知道服



代码>时间戳STR?这是你所期望的吗?@Dion:Yap还好吗?>timeStamp.ToString(“yyy-MM-dd hh:MM:ss”);hh获取12小时变量,请确保12-24小时格式的时间正确。例如13:30而不是01:00:30@SonerGönül是的,我一按“回车”就意识到这是错的。我正在删除原始注释。您是否调试了
timeStampStr
的实际值?这就是你所期望的吗?@Dion:Yap还好吗..最后我在客户端调试程序中找到了字符串参数值。它看起来是正确的,但如上所述,我不知道服务器的DB引擎上到底发生了什么。本文似乎密切相关:Christopher Thomas Nico的回答建议客户机调试如下:string tmp=command.CommandText.ToString();foreach(cmd.Parameters中的SqlParameter p){tmp=tmp.Replace('@'+p.ParameterName.ToString(),“''+p.Value.ToString()+”);}@Peter:您找到了字符串参数,确定了。这在
timeStampStr
变量中。但我建议您对数据库引擎本身进行分析,以查看它是如何接收查询的。然后,您可以直接对数据库复制该查询,并完全删除作为变量的应用程序代码,这将有助于您进行调试。@Peter:这种调试方法将向您显示与数据库引擎接收到的内容类似的内容,但并不准确。当您检查实际值而不是您认为“足够接近”的不同值时,调试会容易得多。@David Yes我通过DB engine logging获得了这个建议@first time,感谢您的时间:)我对.NET和MySQL的合作感到非常不快,因为我以前使用C++ + SQLite,而且毫无疑问,如果服务器接收到我发送的信息。…我不明白,为什么会有…@彼得:我想你误解了这里发生的事情。服务器正在接收您发送的内容,这是毫无疑问的。您正在向它发送参数化查询的精确字符串,并且您正在向它发送那些精确的参数。代码并不是想欺骗你,而是按照你告诉它的去做。关于您的调试工作,祝您好运。但是关于这个问题,最好是从数据库的角度而不是代码的角度来检查查询。(使用探查器工具的SQLServer也是如此。)最后,我在clients Debugger中找到了字符串参数值。它看起来是正确的,但如上所述,我不知道服务器的DB引擎上到底发生了什么。本文似乎密切相关:Christopher Thomas Nico的回答建议客户机调试如下:string tmp=command.CommandText.ToString();foreach(cmd.Parameters中的SqlParameter p){tmp=tmp.Replace('@'+p.ParameterName.ToString(),“''+p.Value.ToString()+”);}@Peter:您找到了字符串参数,确定了。这在
timeStampStr
变量中。但我建议您对数据库引擎本身进行分析,以查看它是如何接收查询的。然后,您可以直接对数据库复制该查询,并完全删除作为变量的应用程序代码,这将有助于您进行调试。@Peter:这种调试方法将向您显示与数据库引擎接收到的内容类似的内容,但并不准确。当您检查实际值而不是您认为“足够接近”的不同值时,调试会容易得多。@David Yes我通过DB engine logging获得了这个建议@first time,感谢您的时间:)我对.NET和MySQL的合作感到非常不快,因为我以前使用C++ + SQLite,而且毫无疑问,如果服务器接收到我发送的信息。…我不明白,为什么会有…@彼得:我想你误解了这里发生的事情。服务器正在接收您发送的内容,这是毫无疑问的。您正在向它发送参数化查询的精确字符串,并且您正在向它发送那些精确的参数。代码并不是想欺骗你,而是按照你告诉它的去做。关于您的调试工作,祝您好运。但是关于这个问题,最好是从数据库的角度而不是代码的角度来检查查询。(使用探查器工具的SQLServer也是如此。)最后,我在clients Debugger中找到了字符串参数值。它看起来是正确的,但如上所述,我不知道服务器的DB引擎上到底发生了什么。本文似乎密切相关:Christopher Thomas Nico的回答建议客户机调试如下:string tmp=command.CommandText.ToString();foreach(cmd.Parameters中的SqlParameter p){tmp=tmp.Replace('@'+p.ParameterName.ToString(),“''+p.Value.ToString()+”);}@Peter:您找到了字符串参数,确定了。这在
timeStampStr
变量中。但我建议您对数据库引擎本身进行分析,以查看它是如何接收查询的。然后,您可以直接对数据库复制该查询,并完全删除作为变量的应用程序代码,这将有助于您进行调试。@Peter:这种调试方法将向您显示与数据库引擎接收到的内容类似的内容,但并不准确。当您检查实际值而不是您认为“足够接近”的不同值时,调试会容易得多。@David Yes我通过DB engine logging获得了这个建议@first time,感谢您的时间:)我对.NET和MySQL的合作感到非常不快,因为我以前使用C++ + SQLite,而且毫无疑问,如果服务器接收到我发送的信息。…我不明白,为什么会有…@彼得:我想你误解了这里发生的事情。服务器正在重新启动
string timeStampStr = timeStamp.ToString("yyyy-MM-dd hh:mm:ss");
...
MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM plc WHERE plc.last_communication < @timeThreshold AND plc.id = @plcId", _conn);

cmd.Parameters.AddWithValue("@timeThreshold", timeStampStr); // Is this correct ? timeStampStr is a string
cmd.Parameters.AddWithValue("@plcId", plcId);
object result = cmd.ExecuteScalar();