请问哪位高手有怎么在vc下写pro c的资料,不胜感激!!!
谢谢先

解决方案 »

  1.   

    去那里找一下:
     http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1113
      

  2.   

    to LGQDUCKY(飘) 没有
      

  3.   

    我主要是想找那种嵌入sql
    用vc编译器,用在unix下的
    谢谢
      

  4.   

    vc下可以写pro*c吗?
    写好pro*c,预编译后生成.c,让vc调用吧
      

  5.   

    把你的邮件给我,我发给你一份。PDF格式.
      

  6.   

    //////在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中就可以编译了.
      

  7.   

    [email protected]
    谢谢各位大哥了
      

  8.   

    to  spotboy(小光头):我的mail 是[email protected],谢谢
      

  9.   

    其实在proc中写好了,到vc里面是不是看结果怎么样的阿