我用的是C#语言,程序是这样的
string ass_indate = string.Empty;
ass_indate = ds.Tables[0].Rows[i][j].ToString().Trim();
excelsql = string.Format("insert into assets (ass_indate) values ('{0})", ass_indate);
总是报这个错误:
在 System.Data.SqlClient.SqlException 中第一次偶然出现的“System.Data.dll”类型的异常
string ass_indate = string.Empty;
ass_indate = ds.Tables[0].Rows[i][j].ToString().Trim();
excelsql = string.Format("insert into assets (ass_indate) values ('{0})", ass_indate);
总是报这个错误:
在 System.Data.SqlClient.SqlException 中第一次偶然出现的“System.Data.dll”类型的异常
但是我把excel里面的格式该yyyy/mm/dd **:**:**这种也不行,哪种才是合法的呢?
1、{0}右邊少一個單引號。
2、EXCEL中是空值,因為insert語句中,日期不可以插入空字符串,這個需要在代碼中進行判斷,如果EXCEL中不是空值,就insert這個值,否則就insert一個null。
存储过程都没问题...
DateTime? date = null;
if(!string.IsNullOrEmpty(ds.Tables[0].Rows[i][j].ToString().Trim()))
{
date = Datetime.Parse(ds.Tables[0].Rows[i][j].ToString().Trim());
excelsql = string.Format("insert into assets (ass_indate) values ('{0})", date);
}
else
{
excelsql = string.Format("insert into assets (ass_indate) values ('{0})", date);
}