//C语言操纵Access数据库练习程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<io.h>
#include<conio.h>
#include<windows.h>
#include <sqlext.h> //这个应该是必须的, 链结时需要odbc32.lib
int main( void)
{
char choise;
int c_insert_0();
int c_delete_0();
int c_select_0();
int c_update_0();
do
{
system("cls");
fflush(stdin); //清空缓冲区
printf("**********欢迎使用学生信息管理系统**********\n");
printf("--------------------------------------------\n");
printf(" [I]添加学生信息\t[D]删除学生信息\n");
printf(" [S]查询学生信息\t[U]修改学生信息\n");
printf(" [Q]退出\n");
printf(" 你的选择是--- ");
scanf("%c",&choise);
switch(choise)
{
case 'i': //添加学生信息
case 'I':
c_insert_0();
break;
case 'd': //删除学生信息
case 'D':
c_delete_0();
break;
case 's': //查询信息
case 'S':
c_select_0();
break;
case 'u': //修改学生信息
case 'U':
c_update_0();
break;
case 'q': //退出系统
case 'Q':
exit(0);
break;
}
}while(choise!='q' && choise!='Q');
return(0);
}
int c_insert_0()
{ char str1[255]="insert into ss(sno,sname,ssex,sage,sadd) values('";
char cno[10];
char cname[10];
char csex[2];
char cage[2];
char cadd[40];
//输入的字符不能超过定义的数组宽度,否则显示出错。
system("cls");
printf("*********请输入需要添加学生的信息*********\n");
printf(" \n");
printf("学号:");
scanf(" %s",cno);
printf("姓名:");
scanf(" %s",cname);
printf("性别:");
scanf(" %s",csex);
printf("年龄:");
scanf(" %s", cage);
printf("住址:");
scanf(" %s",cadd);
fflush(stdin); //清空缓冲区
strcat(str1,cno);
strcat(str1,"','");
strcat(str1,cname);
strcat(str1,"','");
strcat(str1,csex);
strcat(str1,"','");
strcat(str1,cage);
strcat(str1,"','");
strcat(str1,cadd);
strcat(str1,"')");
SQLHENV henv = NULL; //环境句柄
SQLHDBC hdbc = NULL; //odbc连接句柄
SQLHSTMT hstmt = NULL; //语句句柄
SQLRETURN retcode;
SQLCHAR connout[256];
SQLSMALLINT connout_len;
SQLCHAR connstr[] = "Driver={Microsoft Access Driver (*.mdb)};Dbq=student.mdb;Uid=Admin;Pwd=;CharSet=gbk;";
//分配环境
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE,&henv);
//设置环境属性
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
//分配链结
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//创建数据库链结
retcode = SQLDriverConnect(hdbc, NULL, connstr, SQL_NTS, connout, sizeof(connout),
&connout_len, SQL_DRIVER_NOPROMPT);
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
retcode = SQLPrepare(hstmt, (SQLCHAR *) str1 , SQL_NTS);//准备sql语句
retcode = SQLExecute(hstmt);//执行SQL命令
SQLINTEGER cbsatid=SQL_NTS;
if(hstmt)
{
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);//释放语句句柄
hstmt = NULL;
}
if(hdbc)
{
SQLDisconnect(hdbc);//断开连接
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);//释放连接句柄
hdbc = NULL;
}
if (henv)
{
SQLFreeHandle(SQL_HANDLE_ENV, henv);//释放环境句柄
henv = NULL;
}
}
printf("学生信息添加成功!\n");
return 0;
}
int c_delete_0()
{ char str1[255]="delete from ss where sno='";
char cno[10];
system("cls");
printf("*******请按要求输入需要删除学生的学号*******\n");
printf(" \n");
printf("学号:");
scanf(" %s",cno);
strcat(str1,cno);
strcat(str1,"'");
fflush(stdin); //清空缓冲区
SQLHENV henv = NULL; //环境句柄
SQLHDBC hdbc = NULL; //odbc连接句柄
SQLHSTMT hstmt = NULL; //语句句柄
SQLRETURN retcode;
SQLCHAR connout[256];
SQLSMALLINT connout_len;
SQLCHAR connstr[] = "Driver={Microsoft Access Driver (*.mdb)};Dbq=student.mdb;Uid=Admin;Pwd=;CharSet=gbk;";
//分配环境
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE,&henv);
//设置环境属性
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
//分配链结
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//创建数据库链结
retcode = SQLDriverConnect(hdbc, NULL, connstr, SQL_NTS, connout, sizeof(connout),
&connout_len, SQL_DRIVER_NOPROMPT);
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
retcode = SQLPrepare(hstmt, (SQLCHAR *) str1 , SQL_NTS);//准备sql语句
retcode = SQLExecute(hstmt);//执行SQL命令
SQLINTEGER cbsatid=SQL_NTS;
if(hstmt)
{
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);//释放语句句柄
hstmt = NULL;
}
if(hdbc)
{
SQLDisconnect(hdbc);//断开连接
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);//释放连接句柄
hdbc = NULL;
}
if (henv)
{
SQLFreeHandle(SQL_HANDLE_ENV, henv);//释放环境句柄
henv = NULL;
}
}
printf("员工信息删除成功!\n");
return 0;
}
int c_update_0()
{ char str1[255]="update ss set sadd='";
char str2[]="' where sno='";
char cno[10];
char cadd[40];
system("cls");
printf("*******请输入需要修改的学生的学号及新的住址*******\n");
printf(" \n");
printf("学号:");
scanf(" %s",cno);
printf("修改新的家庭地址:");
scanf(" %s",cadd);
strcat(str1,cadd);
strcat(str1,str2);
strcat(str1,cno);
strcat(str1,"'");
fflush(stdin); //清空缓冲区
SQLHENV henv = NULL; //环境句柄
SQLHDBC hdbc = NULL; //odbc连接句柄
SQLHSTMT hstmt = NULL; //语句句柄
SQLRETURN retcode;
SQLCHAR connout[256];
SQLSMALLINT connout_len;
SQLCHAR connstr[] = "Driver={Microsoft Access Driver (*.mdb)};Dbq=student.mdb;Uid=Admin;Pwd=;CharSet=gbk;";
//分配环境
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE,&henv);
//设置环境属性
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
//分配链结
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//创建数据库链结
retcode = SQLDriverConnect(hdbc, NULL, connstr, SQL_NTS, connout, sizeof(connout),
&connout_len, SQL_DRIVER_NOPROMPT);
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
retcode = SQLPrepare(hstmt, (SQLCHAR *) str1 , SQL_NTS);//准备sql语句
retcode = SQLExecute(hstmt);//执行SQL命令
SQLINTEGER cbsatid=SQL_NTS;
if(hstmt)
{
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);//释放语句句柄
hstmt = NULL;
}
if(hdbc)
{
SQLDisconnect(hdbc);//断开连接
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);//释放连接句柄
hdbc = NULL;
}
if (henv)
{
SQLFreeHandle(SQL_HANDLE_ENV, henv);//释放环境句柄
henv = NULL;
}
}
printf("学生家庭住址信息修改成功!\n");
return 0;
}
int c_select_0()
{ char xsa;
char str1[255]="select sno,sname,ssex,sage,sadd from ss where sno='";
char cno[10];
system("cls");
printf("*******请输入需要查询的学生学号*******\n");
printf(" \n");
printf("学号:");
scanf(" %s",cno);
strcat(str1,cno);
strcat(str1,"'");
fflush(stdin); //清空缓冲�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xls](https://img-home.csdnimg.cn/images/20210720083658.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 2 条
- 1
![avatar](https://profile-avatar.csdnimg.cn/1321e416db674fb986c5420ef4140295_qq_53944807.jpg!1)
nycSerendipity
- 粉丝: 97
- 资源: 147
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
- 1
- 2
前往页