![](/img/trans.png)
[英]NHibernate Unable to convert MySQL date/time value to System.DateTime
[英]'Unable to convert MySQL date/time value to System.DateTime' WHEN not using a date - C#.Net
我有这个查询:
SELECT * FROM records WHERE serial LIKE '%19-111117-11%';
serial列是varchar字段。 这里没有日期/时间。 也许.Net或MySQL认为'19 -111117-11'是日期?
我收到此错误:
MySql.Data.Types.MySqlConversionException:'无法将MySQL日期/时间值转换为System.DateTime'
奇怪的是,该查询在MySql查询浏览器中工作正常,但是在我的C#应用程序中运行时会抛出该异常。
我试过了:
SELECT * FROM records WHERE CAST(serial as char) LIKE '%19-111117-11%';
只是为了它的地狱,我将“ 19-111117-11”分为两个部分:
(kinda伪代码,因为之后我尝试了更多事情)
string p1 = serial.substring(0, serial.length/2)
string p2 = serial.substring(serial.length)
string query = "SELECT * FROM records WHERE SUBSTRING(serial,0,LENGTH(serial)/2) = " + p1 + "' AND SUBSTRING(serial,LENGTH(serial)/2,LENGTH(serial)/2) = '" + p2 + "';";
请帮忙! 如此烦人的问题。 我不确定为什么会得到转换为日期/时间的异常。 我根本不使用日期...
编辑:
SELECT * FROM records WHERE `serial` LIKE '%19-111117-11%';
另外,不起作用。 我认为它与C#代码无关,因为它只是一个查询,而且是MySQL异常,但是这里使用的代码是:
string serial = "19-111117-11";
DataTable tracking_info = MySqlGetDataTable("SELECT * FROM records WHERE `serial` LIKE '%" + serial + "%';");
调用此函数:
public static DataTable MySqlGetDataTable(string query, string connString = "default")
{
var data = new DataTable();
using (var conn = new MySqlConnection(connString == "default" ? Program.CidDataConnectionString : connString))
{
var adapter = new MySqlDataAdapter(query, conn);
adapter.Fill(data);
}
return data;
}
编辑2:
使用以下序列号:19-111115-11,19-111116-11,19-111118-11都可以使用...只是19-111117-11不能使用。 它似乎与以下方面有关:
19-11111 7 -11 <-该数字
在应用程序配置文件中设置“零日期时间= True”
<add name="CONNECTIONSTRINGNAME" connectionString="server's HOSTNAMEorIP(i.e Localhost or IP address);user id=USER_ID;Pwd=PASSWORD;persistsecurityinfo=True;database=DATABASENAME;Convert Zero Datetime=True" providerName="MySql.Data.MySqlClient"/>
SELECT * FROM records WHERE `serial` LIKE '%19-111117-11%';
不起作用,但是:
SELECT col1, col2, col3... FROM records WHERE `serial` LIKE '%19-111117-11%';
作品。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.