请问关于在VC下写PRO C 请问哪位高手有怎么在vc下写pro c的资料,不胜感激!!!谢谢先 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去那里找一下: http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1113 to LGQDUCKY(飘) 没有 我主要是想找那种嵌入sql用vc编译器,用在unix下的谢谢 vc下可以写pro*c吗?写好pro*c,预编译后生成.c,让vc调用吧 把你的邮件给我,我发给你一份。PDF格式. //////在vc中编译时加载oraSQL8.lib文件#pragma comment(lib,"oraSQL8.lib")#include "stdio.h"#include "string.h"#include "stdlib.h"#include "dos.h"EXEC SQL INCLUDE SQLCA;//////////数据库联接int Ora_conn(){ EXEC SQL BEGIN DECLARE SECTION; VARCHAR usr[20],pass[20],serv[20]; EXEC SQL END DECLARE SECTION; EXEC SQL WHENEVER SQLERROR GOTO sqlerr; strcpy(usr.arr,"lcj"); usr.len=(unsigned short)strlen((char*)usr.arr); strcpy(pass.arr,"lcj"); pass.len=(unsigned short)strlen((char*)pass.arr); strcpy(serv.arr,"zlodb"); serv.len=(unsigned short)strlen((char*)serv.arr); EXEC SQL CONNECT :usr IDENTIFIED BY :pass USING :serv; printf("Connect!\n"); return 1; sqlerr: EXEC SQL WHENEVER SQLERROR CONTINUE; printf("%s\n",sqlca.sqlerrm.sqlerrmc); return 0; }/////调用存储过程/*call_p(userid){ EXEC SQL BEGIN DECLARE SECTION; char userid_p[10]; EXEC SQL END DECLARE SECTION; strcpy(userid_p,userid); EXEC SQL EXECUTE BEGIN prtest(:userid_p,'124','1234'); END; END-EXEC; }*/void main(){ char pathstring[20]; char filecontent[200]; int total=0; EXEC SQL BEGIN DECLARE SECTION; /*sql中用到的变量*/ char s_mobile[12],s_mscontent[160],s_sendtype[20],s_destmobile[12],s_rowid[18]; char s_mstime[20]; int conn; EXEC SQL END DECLARE SECTION; conn=Ora_conn(); if (conn==1) { while(1) { EXEC SQL WHENEVER NOT FOUND GOTO notfoundall; EXEC SQL DECLARE c_ms_temp CURSOR FOR SELECT MOBILE,MSCONTENT,SENDTYPE,DESTMOBILE,MSTIME,ROWID FROM MS_TEMP; EXEC SQL OPEN c_ms_temp; while(1) { EXEC SQL FETCH c_ms_temp INTO :s_mobile,:s_mscontent,:s_sendtype,:s_destmobile,:s_mstime,:s_rowid; if( sqlca.sqlcode == 1403) { break; } //从ms_bf移到ms中 EXEC SQL INSERT INTO MS(MOBILE,MSCONTENT,SENDTYPE,DESTMOBILE,MSTIME) VALUES(:s_mobile,:s_mscontent,:s_sendtype,:s_destmobile,:s_mstime); //对上行表加入log表中 EXEC SQL INSERT INTO LOG VALUES(logseq,nextval,:s_mobile,:s_destmobile,sysdate,'',s_mscontent,'上行表'); EXEC SQL DELETE FROM MS_TEMP WHERE ROWID=:s_rowid; EXEC SQL COMMIT; //total=total+1; //printf("%s\t\t%s\t%s\t\n",userid,username,birthday); } continue; notfoundall: if (total==0) { printf("\n没有找到用户信息!\n\n\n"); } else { printf("\n共有%d条用户信息!\n\n\n",total); } printf("处理完成!!!"); delay(5000); printf("已经delay 5秒!!!!"); } } else{ printf("数据库联接失败!!!!"); } EXEC SQL COMMIT WORK RELEASE;}//////将上面保存为.pc文件,然后在dos下:proc iname=d:\ora_proc_test\OraTest.pc userid=用户名/密码@数据库 sqlcheck=semantics .编译成.c文件,在vc中就可以编译了. [email protected]谢谢各位大哥了 to spotboy(小光头):我的mail 是[email protected],谢谢 其实在proc中写好了,到vc里面是不是看结果怎么样的阿 要学习oracle,有些入门的问题要问一下各位 oracle ExecuteNonQuery 返回值总是为-1 视图删除、修改特别慢,死机 急求:如何向oracle中的日期类型中插入空值? DBVERIFY的一个概念性问题~ 请问ORACLE中如何用SQL语句取得当前计算机名 数据丢失了(急) 大家装了oracle10g的,有企业管理控制台么? 有个简单的SQL,不知道怎么写!! oracle中exp命令导出整库没有问题,导出单张表时提示表不存在!! 怎样取得表的表头信息 Oracle备份问题:我要重装系统的话该怎么办?
http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1113
用vc编译器,用在unix下的
谢谢
写好pro*c,预编译后生成.c,让vc调用吧
#pragma comment(lib,"oraSQL8.lib")#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "dos.h"EXEC SQL INCLUDE SQLCA;//////////数据库联接
int Ora_conn()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR usr[20],pass[20],serv[20];
EXEC SQL END DECLARE SECTION;
EXEC SQL WHENEVER SQLERROR GOTO sqlerr; strcpy(usr.arr,"lcj");
usr.len=(unsigned short)strlen((char*)usr.arr);
strcpy(pass.arr,"lcj");
pass.len=(unsigned short)strlen((char*)pass.arr);
strcpy(serv.arr,"zlodb");
serv.len=(unsigned short)strlen((char*)serv.arr);
EXEC SQL CONNECT :usr IDENTIFIED BY :pass USING :serv;
printf("Connect!\n");
return 1;
sqlerr:
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("%s\n",sqlca.sqlerrm.sqlerrmc);
return 0;
}/////调用存储过程
/*
call_p(userid)
{
EXEC SQL BEGIN DECLARE SECTION;
char userid_p[10];
EXEC SQL END DECLARE SECTION;
strcpy(userid_p,userid);
EXEC SQL EXECUTE
BEGIN
prtest(:userid_p,'124','1234');
END;
END-EXEC; }
*/
void main()
{
char pathstring[20];
char filecontent[200];
int total=0; EXEC SQL BEGIN DECLARE SECTION; /*sql中用到的变量*/
char s_mobile[12],s_mscontent[160],s_sendtype[20],s_destmobile[12],s_rowid[18];
char s_mstime[20];
int conn;
EXEC SQL END DECLARE SECTION;
conn=Ora_conn(); if (conn==1)
{
while(1)
{
EXEC SQL WHENEVER NOT FOUND GOTO notfoundall;
EXEC SQL DECLARE c_ms_temp CURSOR FOR SELECT MOBILE,MSCONTENT,SENDTYPE,DESTMOBILE,MSTIME,ROWID FROM MS_TEMP;
EXEC SQL OPEN c_ms_temp;
while(1)
{
EXEC SQL FETCH c_ms_temp INTO :s_mobile,:s_mscontent,:s_sendtype,:s_destmobile,:s_mstime,:s_rowid;
if( sqlca.sqlcode == 1403)
{
break;
}
//从ms_bf移到ms中
EXEC SQL INSERT INTO MS(MOBILE,MSCONTENT,SENDTYPE,DESTMOBILE,MSTIME) VALUES(:s_mobile,:s_mscontent,:s_sendtype,:s_destmobile,:s_mstime);
//对上行表加入log表中
EXEC SQL INSERT INTO LOG VALUES(logseq,nextval,:s_mobile,:s_destmobile,sysdate,'',s_mscontent,'上行表');
EXEC SQL DELETE FROM MS_TEMP WHERE ROWID=:s_rowid;
EXEC SQL COMMIT; //total=total+1;
//printf("%s\t\t%s\t%s\t\n",userid,username,birthday);
}
continue;
notfoundall:
if (total==0)
{
printf("\n没有找到用户信息!\n\n\n");
}
else
{
printf("\n共有%d条用户信息!\n\n\n",total);
}
printf("处理完成!!!");
delay(5000);
printf("已经delay 5秒!!!!"); }
}
else{
printf("数据库联接失败!!!!"); }
EXEC SQL COMMIT WORK RELEASE;
}
//////将上面保存为.pc文件,然后在dos下:proc iname=d:\ora_proc_test\OraTest.pc userid=用户名/密码@数据库 sqlcheck=semantics .编译成.c文件,在vc中就可以编译了.
谢谢各位大哥了