【发布时间】:2020-01-29 20:36:49
【问题描述】:
我正在尝试将字符串转换为 NULL,以便 MySQL 可以处理它。但是,我得到“无法将字符串转换为双精度”。 我想抛出一个异常,这样我就可以处理输入的任何字符串,可以这样做吗??
try
{
Double dDate = Convert.ToDouble(cellData);
DateTime dt = DateTime.FromOADate(dDate);
cellString = dt.ToString("yyyy-MM-dd");
if (cellString.Length == 0)
cellString = "NULL";
else
cellString = "'" + MySqlHelper.EscapeString(cellString) + "'";
// throw new EncoderFallbackException("Testing 123");
}
catch (InvalidCastException)
{
cellString = "NULL";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
oWorkbook.Close();
m_iSystemOk = false;
return bResult;
}
在 OP 评论后更新答案
cellData 是这样定义的:
var cellData = oWorksheet.Cells[row, col].Value2;
string cellString = "";
if (cellData != null)
{
if (col == 6 || col == 9 || col == 10)
{
try (code continues as above statement)
【问题讨论】:
-
cellData是Range对象,但您将其视为string
标签: string exception null double