⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbapp.cp

📁 UNIX/LINUX平台下面SMS网管原代码
💻 CP
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <memory.h>
#include <sys/types.h>

#include "link.h"
#include "etc.h"

EXEC SQL INCLUDE SQLCA;

SmsData_t *sm;

int DB_ScanSmsData()
{
	EXEC SQL Begin Declare Section ;
	char cellphone[16];
	char data[140 + 1];
	int  iid;
	EXEC SQL End Declare Section ;
	
	SmsData_t *head = NULL, *p = NULL, *node = NULL;
	int FirstNode = TRUE;
	int errcode, i = 1;
	
	EXEC SQL WHENEVER SQLERROR CALL error_handler() ;
	EXEC SQL WHENEVER SQLWARNING CALL warning_handler() ;
	EXEC SQL WHENEVER NOT FOUND CALL notfound_handler() ;
	
	EXEC SQL DECLARE cur_sms CURSOR FOR SELECT iid, inumber, idata FROM tb_ob_sms WHERE iflag = 2 OR iflag = 6 ;

	EXEC SQL OPEN cur_sms;
	
	while(1)
	{
		memset( cellphone, 0, sizeof(cellphone));
		memset( data, 0, sizeof(data));
		
		EXEC SQL FETCH cur_sms INTO :iid, :cellphone, :data ;
		if ( sqlca.sqlcode < 0 )
		{
			errcode = sqlca.sqlcode ;
			return( errcode) ;
		}


		if ( sqlca.sqlcode == 100 ) break ;

		if( FirstNode == TRUE )
                {
                	if( ( head = (SmsData_t *)CreateNode() ) == NULL )
                        {
                        	fprintf(stdout, "Create head error\n");
                                return FAILURE;
                        }

			head->iid = iid;

			AllTrim(cellphone);
			AllTrim(data);

			strcpy(head->inumber, cellphone);
			strcpy(head->idata, data);
			//printf("%d|%s|%s\n", i, head->inumber, head->idata);
			
                        p = head;
			FirstNode = FALSE;
                                            
                        continue;
                }

		if( ( node = (SmsData_t *)CreateNode() ) == NULL )
                {
                	fprintf(stdout, "Create node error\n");
                	return FAILURE;
                }

		node->iid = iid;

		AllTrim(cellphone);
		AllTrim(data);

		strcpy(node->inumber, cellphone);
		strcpy(node->idata, data);
		fprintf(stdout,"%d|%s|%s\n", ++i, node->inumber, node->idata);
			
                p->next = node;
                p = node;
	}

	EXEC SQL CLOSE cur_sms ;

	sm = head;

	return SUCCESS;	
}

void DB_SetSmsStatus(int id, int status)
{
	EXEC SQL Begin Declare Section ;
	int  tmpId;
	int  tmpStatus;
	EXEC SQL End Declare Section ;
	
	EXEC SQL WHENEVER SQLERROR CALL error_handler() ;
	EXEC SQL WHENEVER SQLWARNING CALL warning_handler() ;
	EXEC SQL WHENEVER NOT FOUND CALL notfound_handler() ;
	
	tmpId = id;
	tmpStatus = status;
	
	EXEC SQL UPDATE tb_ob_sms SET iflag = :tmpStatus WHERE iid = :tmpId;
	
	//return sqlca.sqlcode;
	fprintf(stdout ," Update tb_ob_sms OK!!!\n");
	return ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -