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

📄 demo.c

📁 linux下
💻 C
字号:
#include<stdlib.h>#include<stdio.h>#include<sys/types.h>#include<fcntl.h>#include<sys/stat.h>#include<unistd.h>#include<string.h>#include"table.h"int main(void){	//建表	printf("start table_creat\n");	T_ColumnInfo infos[4];	T_TableDes* pTable=NULL;	strcpy(infos[0].szColumnName,"No");	infos[0].ColumnType=shortint;	strcpy(infos[1].szColumnName,"Name");	infos[1].ColumnType=conchars;	strcpy(infos[2].szColumnName,"Age");	infos[2].ColumnType=shortint;	strcpy(infos[3].szColumnName,"Score");	infos[3].ColumnType=floatval;	pTable=malloc(sizeof(T_TableDes));	pTable=table_create("/root/TestTable.tbl",infos,4);	if(pTable!=NULL)		printf("/root/TestTable.tbl created\n\n");	else	{		printf("/root/TestTable.tbl failed\n\n");		exit(EXIT_FAILURE);	}	//插入6条记录	printf("start record_insert\n");	T_FieldNode   pFields[4];	//pFields=malloc(sizeof(T_FieldNode)*4);	int nInsert=6,i;	for(i=0;i<nInsert;i++)	{		strcpy(pFields[0].szColumnName,"No");		strcpy(pFields[1].szColumnName,"Name");		strcpy(pFields[2].szColumnName,"Age");		strcpy(pFields[3].szColumnName,"Score");		(short*)pFields[0].pFieldData=malloc(sizeof(short));		(char*)pFields[1].pFieldData=malloc(sizeof(char)*8);		(short*)pFields[2].pFieldData=malloc(sizeof(short));		(float*)pFields[3].pFieldData=malloc(sizeof(float));		printf("please input record %d\n",i);	scanf("%hd%s%hd%f",(short*)pFields[0].pFieldData,(char*)pFields[1].pFieldData,(short*)pFields[2].pFieldData,(float*)pFields[3].pFieldData);	//调用do_record_insert插入一条记录	if(do_record_insert(pTable,pFields,4))		printf("record %d inserted\n\n",i);	else	{		printf("insert failed\n");		exit(EXIT_FAILURE);	}	}	printf("insert over\n\n\n");	//free(pFields);	//显示表记录	printf("start table_show\n");	do_table_show(pTable);	printf("show over\n\n\n");	//查询记录Name=zhumei	printf("start record query for Name=zhumei\n");	T_Conditions* pCon1;	pCon1=malloc(sizeof(T_Conditions));	(char*)pCon1->pReferValue=malloc(sizeof(char)*MAX_CONSTRINGLEN);	strcpy(pCon1->szColumnName,"Name");	strcpy((char*)pCon1->pReferValue,"zhumei");	pCon1->nRelation=equal;	record_show(pTable, do_record_query(pTable,pCon1));	free(pCon1);	printf("query over\n\n");	//更新记录项Score<60为70	printf("start record update score<60 to =70\n");	float temp=60.00;	float newval=70.00;	T_Conditions* pCon2;	T_FieldNode* pNew;	pCon2=malloc(sizeof(T_Conditions));	strcpy(pCon2->szColumnName,"Score");	(float*)pCon2->pReferValue=&temp;	pCon2->nRelation=smaller;	pNew=malloc(sizeof(T_FieldNode));	strcpy(pNew->szColumnName,"Score");	(float*)(pNew->pFieldData)=&newval;	if(!do_record_update(pTable,pCon2,pNew))		printf("updated\n");	else	{		printf("update failed\n");		exit(EXIT_FAILURE);	}	free(pCon2);	free(pNew);	printf("update over\n\n");	//显示表记录	printf("start table_show\n");	do_table_show(pTable);	printf("show over\n\n");	//删除记录Name=chen	printf("start record_delete for Name=chen\n");	T_Conditions* pCon3;	pCon3=malloc(sizeof(T_Conditions));	(char*)pCon3->pReferValue=malloc(sizeof(char)*MAX_CONSTRINGLEN);	strcpy(pCon3->szColumnName,"Name");	strcpy((char*)pCon3->pReferValue,"chen");	pCon3->nRelation=equal;	do_record_delete(pTable,pCon3);	free(pCon3);	printf("delete over\n\n");	//显示表记录	printf("start table_show\n");	do_table_show(pTable);	printf("show over\n\n");	//关闭表	printf("start table_close\n");	table_close(pTable);	printf("close over\n\n");	return 0;}

⌨️ 快捷键说明

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