用的软件是vs2010,想在无数据库支持的单文档文件中将文本文档读入access数据库。是不是需要把 .txt 文件先用代码转换成 .mdb 文件? 
之后要在对话框中使用,并实现查询功能。

解决方案 »

  1.   

    txt是txt,mdb是mdb,两步,先读取文本文件到你的内存(当然可以一点点读),读完了,按你的规则分出每条记录,然后插入到数据库
      

  2.   

     .txt 文件 很难 转换成 .mdb 文件,除非是 上面所说的 程序按 记录、字段逐一插入
    .txt 倒容易转为 .csv
      

  3.   

    现在会创建 .mdb 的数据库文件了。也插入了一组数据。可是从文本文档中读取的内容是放在 CString 类型的变量中了。 我暂时还没有搜到用 db.Execute(_T("insert into Login (Account,Password) values ('fuyanzhi','yulin')"));   类似的方法插入 CString 类型的字符串。代码如下:
    CDaoDatabase db;
    CDaoRecordset RecSet(&db); CString sPath;
    GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); sPath.ReleaseBuffer(); int nPos; nPos=sPath.ReverseFind('\\');//返回此CString对象中与要求的字符匹配的最后一个字符的索引 sPath=sPath.Left(nPos); CString lpszFile = sPath + "\\TestDb.mdb";
    db.Create(lpszFile); CString SqlCmd = _T("CREATE TABLE Login(Account VARCHAR(10),Password VARCHAR(10));"); db.Execute(SqlCmd);//创建第一张表  createfield   createindex

    CString a,b;
    a.Format(_T("asdfs"));
    b.Format(_T("lin"));
    db.Execute(_T("insert into Login (Account,Password) values ('fuyanzhi','yulin')")); //正常插入
    db.Execute(_T("insert into Login (Account,Password) values ('%s','%s')a,b")); //执行时报错且不能插入
      

  4.   

    把文本文件转换为csv文件或者用特殊符号隔开 然后一行一行的插入到mdb文件中
      

  5.   

    假如该文本文件是典型的CSV格式,那么就用程序打开Acces数据库,执行以下SQL:
    SELECT * INTO [Table1] FROM [TEXT;FMT=CSV;DELIMITED;HDR=YES;DATABASE=E:\Temp\].[test.csv];