资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

如何从文本文件中读取记录数据创建一个数据库?菜鸟求学

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

将图像分割后,生成了若干区域,这些区域有面积,周长,区域灰度最大值,最小值,平均值等各项指标,考虑将他们统计到一个事实数据库中,现在区域的范围、块数已定,我放在一个文本文件里,也就是说知道会有多少条记录(一个区域对应一条记录),但是其属性指标有待扩充,如何将此文本文件导出建立数据库?这个数据库应该方便我统计新的区域属性指标。用那种方式建立比较方便呢?  
          假定文本文件格式为:  
  区域编号     区域面积     灰度特性     区域范围  
  1                   300                 ???         {...}  
  2                   230                 ???         {...}  
          其中灰度特性要根据区域范围确定。  
   
          望各位大虾热心指点,在此谢过。  
          本人未做过数据库方面的工作,看来非加强学习不可了。

网友回答:

发表者:lixiaosan

用CStdioFile的ReadString读文件一行,然后解析字符串,写入数据库

发表者:DebugXP

用单个空格或逗号作分隔符比较好,这样较容易倒入数据库  
   
  区域编号   区域面积   灰度特性   区域范围  
  1   300   ???   {...}  
  2   230   ???{...}

发表者:DentistryDoctor

CStdioFile::ReadString+sscanf.

发表者:xindao_wang

用ODBC和ADO都可以,比如用ODBC  
  1、建立数据库连接,程序中建立CRecordSet类。  
  2、依次读文件,楼上的几个办法都可行。  
  3、根据读出的数据,循环向数据库中插入数据。

发表者:kugou123

同意楼上。  
  用ADO+ACCESS方便点。

发表者:gooyan

假设你写文件的时候是  
  CString   str;  
  str.Format("%s\t%s\t%s\%s",data1,data2,data3,data4),数据间用\t隔开  
  用CStdioFile得WriteString(str)  
   
  然后读入到数据库  
  用CStdioFile得ReadString(str)  
  然后  
  sscanf(str,"%s\t%s\t%s\t%s",data1,data2,data3,data4)获得各个自段值  
   
  然后入库  
  1.stdafx.h中加入  
  #import   "C:\Program   Files\Common   Files\System\ado\msado15.dll"   no_namespace   rename("EOF","adoEOF")    
  2。app文件的InitInstance中加入  
  if(S_OK!=OleInitialize(NULL))  
  {  
  AfxMessageBox("初始化COM组件库错误");  
  }  
   
   
  下面就是数据库操作  
  _ConnectionPtr   pConn;  
  _RecordsetPtr     pRs;  
  CString   strSQL;  
  pConn.CreateInstance(__uuidof(Connection));  
  pConn->CursorLocation=adUseClient;  
  strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";  
  pConn->Open(_bstr_t(strSQL),"","",-1);  
   
  pRs.CreateInstance(__uuidof(Recordset));  
  pRs->CursorLocation=adUseClient;  
  pRs->PutActiveConnection(pConn.GetInterfacePtr());  
   
  pRs1.CreateInstance(__uuidof(Recordset));  
  pRs1->CursorLocation=adUseClient;  
  pRs1->PutActiveConnection(pConn.GetInterfacePtr());  
   
  strSQL="select   *   from   catalog   order   by   cataid";  
  pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);  
 

发表者:ACuke

我的思路:写成ini文件,可以外部设置也可以。  
 

发表者:laiyiling

ADO建ACCESS数据库    
  http://blog.csdn.net/laiyiling/archive/2004/10/23/148112.aspx


 

 
热门推荐笔记本: IBM笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved