
然后在perl脚本中写:
!#usr/bin/perl -w
use strict
use DBI#使用DBI模块,DBD::mysql是驱动不必在脚本中使用,安装了就行
my $dbname = ""#引号里填上数据库名
my $ip = ""#引号里填上要访问的数据库的ip地址,数据库是本机就写127.0.0.1
my $port = ""#引号里填上要访问的数据库的端口号,mysql默认端口号是3306
my $host = "dbi:mysql:" . $dbname . ":" . $ip . ":" . $port
my $user = "root"#访问数据库使用的用户名
my $password = "xXxX"#该用户名所使用的密码
my $dbh = DBI ->connect($host,$user,$password) or die "$@"#与数据库建立连接
$dbh ->do("set names \'gbk\'")#设置输出中文不乱码
while(1) #条件永远为真,除非人为终止,否则不会停止
{ #可以使用control+c停止脚本执行
my $sql = ""#引号里填上sql语句
$sth = $dbh ->prepare($sql)#送入数据库做准备
$sth ->execute()#执行这条sql语句
sleep(300)#设置300秒暂停执行,300秒后继续执行while
}
$dbh ->disconnect()#断开与数据库的连接
这里使用的是最新的perl和最新的mysql最新,不是复制粘贴别人代码,前几天还在用,保证思路没有问题。
其主要思路是:1.把数据库分解成几个asset文件。2.当需要打开数据库时,如果数据库不存在,就把那几个asset文件重新合并成一个数据库文件。3.如果数据库的版本改变了,就在onUpgrade()方法中把数据库文件删除掉。下面是代码://数据库的缺省路径privatestaticfinalStringDB_PATH="/data/data/com.mypackage.myapp/databases/"privatestaticfinalStringDB_NAME="mydb.db"privatestaticfinalintDB_VERSION=2privatestaticfinalStringDB_SPLIT_NAME="mydb.db.00"privatestaticfinalintDB_SPLIT_COUNT=3privateSQLiteDatabasem_databaseprivatefinalContextm_context/***Constructor*保存传进来的context参数以用来访问应用的asset和资源文件1、使用双层循环语句,就可以依次把数据顺序读入到一个二维数组当中了。2、例程:
#include <stdio.h>
#include <string.h>
#define MAXLINE 3
#define MAXCOLUMN 10
void main(void){
FILE *fp//文件指针
char arr[MAXLINE][MAXCOLUMN]={0} //定义3行10列的二维数组并初始化
int i = -1
if((fp=fopen("./test/filename.txt","r"))==NULL){ //打开txt文件
perror("File open error!\n")
return
}
while((fgets(arr[++i],MAXCOLUMN+1,fp))!=NULL) //读取一行并存到arr数组
printf("%d: ",i)//打印行号
//puts(arr[i])
char *subarr = strtok(arr[i]," ") //以空格为分隔符从arr[i]中获得字串
while(subarr!=NULL){
data[i][j] = atoi(subarr) //将字串转为int型数据存入data数组
printf("%d\t",data[i][j]) //打印data[i][j
subarr = strtok(NULL," ") //继续获得arr[i]中的字串
j++ //data数组列加一
}
printf("\n")
}
//循环完毕后,所有数据已在data数组中
printf("\n")
fclose(fp) //关闭指针
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)