- 论坛徽章:
- 0
|
int start_prog()
{
char commline[100];
$int num;
$char dbname[20];
$struct s_prog
{
int pseq;
char pname[21];
char ppara[21];
char prst[21];
char pflg[2];
}r_prog;
strcpy(dbname,getenv("DBNAME"));
chen_log("要连接的数据库的名字:%s",dbname);
$database :dbname;
chen_log("connect database sql err %d\n",sqlca.sqlcode);
memset(&r_prog,0x00,sizeof(r_prog));
$select count(*) into $num from prog where pflg="1";
if(sqlca.sqlcode) {
chen_log("query error sql err %d\n",sqlca.sqlcode);
return sqlca.sqlcode;
}
if(num==0) return 0;
$declare my_cur cursor for
select * into $r_prog from prog where pflg="1" order by pseq;
$open my_cur;
if(sqlca.sqlcode) {
chen_log("sql err %d\n",sqlca.sqlcode);
return sqlca.sqlcode;
}
while(1) {
$fetch my_cur;
if (sqlca.sqlcode == 100) break;
memset(commline,0x00,sizeof(commline));
ldchar(r_prog.pname,strlen(r_prog.pname),r_prog.pname);
ldchar(r_prog.ppara,strlen(r_prog.ppara),r_prog.ppara);
sprintf(commline,"%s %s",r_prog.pname,r_prog.ppara);
chen_log("%s\n",commline);
system(commline);
}
$close my_cur;
$close database;
return 0;
}
大家帮我看看!为什么程序里面连接informix数据库没有connect就直接使用数据库呢?执行sql语句之前难道不去用数据库的用户名和密码登陆数据库然后才可以去执行sql语句的吗?请教高手指点迷津啊?是不是要设置什么环境变量啊?? |
|