

任何对数据库的删除、插入和修改操作都必须在相应的procedure文件中提供,比如zhandian_procedure,checi_procedure等去找对应的方法。另外一个值得注意的就是对主表对象的插入要先于与之相关联的副表对象,不然就无法遵守数据库的参照完整性,因为副表要以主表的主键作为它的外键,而当副表中要参照主表还不存在的主键,显然这是无法成功的。每个功能是如何实现的在这里不一一说明了。
4.4 实践中遇到的部分问题及解决办法
在项目开发过程中遇到了各种各样的问题,其中本文在这里介绍个人开发遇到的问题,以及解决的方法。
4.4.1 自动采集businfo表的相应功能的实现
本人在准备系统相应数据采集时,发现如果手动插入所有车次信息表,站台信息表,行程信息表是不现实。因为这些数据相当庞大,会浪费大量重费劳动力,就自己利用JAVA语言写了相应的方法来解决问题。下面以自动向businfo表插入原始数据为例说明。
首先,将所收集的最原始的数据整理成如下格式保存在一个businfoData.txt文件下,
105→06:30:00 →19:00:00→小吴门→大托铺
160→07:00:00 →19:00:00→火车南站→体育新城
159→06:30:00 →21:30:00→体育新城→汽车北站
156→07:00:00 →19:00:00→烈士公园东门→体育新城
148→07:00:00 →19:00:00→芙蓉苑→白竹村(东山大桥)
147→07:00:00 →19:00:00→上白沙湾(省医药学校)→汽车南站
309→07:00:00 →19:00:00→高叶塘→静园山庄
150→06:30:00 →21:30:00→金帆小区→南郊公园
……………
然后,在gongjiaochexitong.gongjiaoche. DataAcquisition包下写了CollecterDataBusinfo.java文件.其主要利用java.io包来读取businfo.txt文件,利用JDBC
跟数据库交互。核心方法如下:
/**
* 此方法主要用于自动向数据库中对就的businfo表中插入数据
* 自动插入,方便些强,准确性高
*/
//读文件,一条一条读,读后操作转换成所要形式,然后调插入方法,完成数据插入
public ArrayList<String> readData(File file) {
try {
//利用java.io包中相关类来构造BufferedReader来一行一行的读取指定文件中数据
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
String str = null;
boolean loop = true;
//循环
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//关闭资源
try {
if (fis == null)
fis.close();
if (isr == null)
isr.close();
if (br == null)
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
// 将读到的子符串分解成所需要的形式,以得到所要跟表字段对应的数据
public String[] split(String str) {
//原始数据数组
String[] string1;
//新得到后的数组,此数组按顺序存放stationinfo中的字段
String[] string2 = new String[6];
//用java.util包中的string类中的split方法以’’ →’’得到原始数据,并放到string[]数组
string1 = str.split("→");
if (flag <= 10) {
busType = "中客";
//车次号
string2[0] = string1[0];
//汽车类型
string2[1] = busType;
//始发时间
string2[2] = string1[1];
//最后一次发车时间
string2[3] = string1[2];
//调用本类的changer方法,将站台名转换成站台号
string2[4] = changer(string1[3])+"";
string2[5] = changer(string1[4])+"";
} else {
busType = "大客";转贴于 酷文网-论文下载中心 http://www.coolwen.net