我写了一个程序 一个Excel表其中某一列数据单元格格式为不为文本类型、当我把这一列变为文本类型后就会出现 1.604E+11科学记数法类型的但是正常显示的是116040000001当我把数据导入到数据库的时候会出现 1.604E+11类型的、我用的数据库为Access数据库,我用的导入数据库的方法是 string mystring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
OleDbConnection cnnxls = new OleDbConnection(mystring);
OleDbDataAdapter myDa = new OleDbDataAdapter("select *from [Sheet1$]", cnnxls);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
myDs.Tables[0].Columns[5].DataType=typeof(string);
cnnxls.Close();
if (myDs.Tables[0].Rows.Count > 0)
{
for (int i = 1; i < myDs.Tables[0].Rows.Count; i++)
{
strSql = "insert into AssetMessage (ZiChanXingZhi,ZiChanFenLei,ZiChanGuiGe,ZiChanXingHao,GouZhiData,ZiChanCode,ShuLiang,ZiChanYuanZhi,BaoGuanRen,BaoGuanDi,"
+ "ShiFouSunHuai,Re) values ('" + zichaningzhi + "','";
strSql += myDs.Tables[0].Rows[i].ItemArray[1].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[2].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[3].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[4].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[5].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[6].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[7].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[8].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[9].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[10].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[11].ToString().Trim() + "')";
db.ExecuteSQL(strSql);
}
}
请教为什么导入到数据库后数据库显示的方式是1.604E+11类型的呢、我该怎么去解决呢
MSN:[email protected]
OleDbConnection cnnxls = new OleDbConnection(mystring);
OleDbDataAdapter myDa = new OleDbDataAdapter("select *from [Sheet1$]", cnnxls);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
myDs.Tables[0].Columns[5].DataType=typeof(string);
cnnxls.Close();
if (myDs.Tables[0].Rows.Count > 0)
{
for (int i = 1; i < myDs.Tables[0].Rows.Count; i++)
{
strSql = "insert into AssetMessage (ZiChanXingZhi,ZiChanFenLei,ZiChanGuiGe,ZiChanXingHao,GouZhiData,ZiChanCode,ShuLiang,ZiChanYuanZhi,BaoGuanRen,BaoGuanDi,"
+ "ShiFouSunHuai,Re) values ('" + zichaningzhi + "','";
strSql += myDs.Tables[0].Rows[i].ItemArray[1].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[2].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[3].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[4].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[5].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[6].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[7].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[8].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[9].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[10].ToString().Trim() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[11].ToString().Trim() + "')";
db.ExecuteSQL(strSql);
}
}
请教为什么导入到数据库后数据库显示的方式是1.604E+11类型的呢、我该怎么去解决呢
MSN:[email protected]
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货