导入“;0000〃;或“;0030”;进入DataTable
本文关键字:进入 DataTable 0030 0000 导入 | 更新日期: 2023-09-27 17:58:17
我正在从文本文件中导入0000000 200230034这样的值。但是,该表将它们显示为0、2、23、34。有人知道它为什么去掉前导零吗?
这是我的代码:
private DataTable ImportTabFile()
{
string dataSourcePath = @"C:'Documents and Settings'agordon'Desktop";
string dataFileName = "ACTIVITYEX.txt";
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dataSourcePath + @";Extended Properties=""text;HDR=No;FMT=Delimited""";
OleDbConnection conn = new OleDbConnection(connString);
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = String.Format("SELECT * FROM [{0}]", dataFileName);
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
如何在导入过程中保留前导零?
以下是我的模式文件:
[ACTIVITYEX.txt]
Format=TabDelimited
ColNameHeader=False
Col13=ErrorCode Text
JET将根据第一行推断类型。它可能推断出您的字段是INT
,因为0000
可以转换为数字。如上所述,前导零是无用的。
可以使用schema.ini
显式定义列类型。如以上注释所述,您需要根据文档指定每一列:
必须通过数字指定每列,并指定固定长度文件的列名、数据类型和宽度。
或者,本文提供了一些关于控制如何推断类型的信息。