使用DataSet来操作文本文件居然把我的数据给隐式转换为了INT型,不知道怎么解决。

kneek 2007-09-30 01:41:59
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ConfigurationManager.AppSettings["strTempPath"].ToString() + ";Extended Properties=\"text;HDR=Yes;FMT=Delimited\"";
OleDbConnection odConn = new OleDbConnection(strConn);
DataSet ds = new DataSet();
string strCmd = String.Format("select * from [{0}]", GetFileNameOnly(strFileName));
OleDbDataAdapter xmlDataAdapter = new OleDbDataAdapter(strCmd, odConn);
odConn.Open();
xmlDataAdapter.Fill(ds,"TEST");

我的上传数据:
settmonth,accountid,orgcode,usrname,address,bankno,status,printdate,postofcdate,postmark,VerCalOper,VerCalDate,Append1,Append2
200707,0710000001,014172946,常熟市教育局(常熟职业教育中心校基建组),环城南路32号,5201,4,20070807, , , , , ,
200707,0710000002,014172997,常熟市民政局,常熟市机关综合大楼2F,5201,9,20070807, , ,taoyuzhu,20070911, ,

可是我发现写入内存表ds中我的第二、三列变成了Int型的了前面的"0"都没有了
0710000001==>710000001
014172946==>14172946
请问怎么才可以不让数据被隐式转换了!
(如果把文件字段都加上双引号可以解决这个问题,不过我不想这么做),请大家给点好建议。
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovefootball 2007-09-30
  • 打赏
  • 举报
回复
在SQL文里面把accountid等列转成字符串
applethink 2007-09-30
  • 打赏
  • 举报
回复
try:
先把文件内容放到excle里看,是不是设成的数字型的,是的话转化成文本格式后在试试。
jeremyyang824 2007-09-30
  • 打赏
  • 举报
回复
那么你就根据长度来在前面补0,
你的编号是10位吧,那么如果是9位就在前面补1个0

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧