欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《数据库系统概论》课程之实验五 通过嵌入式SQL访问数据库

程序员文章站 2022-03-04 19:36:52
...
  • 实验目的

  熟悉通过嵌入式SQL(主语言为C语言)编程访问数据库。

  • 实验内容和要求

            熟悉RDBMS的预编译程序。通过嵌入式SQL编程访问数据库的基本步骤

对学生课程数据库中的表,完成下面功能(你也可以自己给出功能要求):

1. 查询某一门课程的信息。要查询的课程由用户在程序运行过程中指定,放在主变量中。

           2. 查询选修某一门课程的选课信息,要查询的课程号由用户在程序运行过程中指定,放在主变量中,

              然后根据用户的要求修改其中某些记录的成绩字段。

 

  •  实验内容与完成情况

            首先安装postgre数据库

sudo apt-get install postgresql

           安装预编译所需要的工具

sudo apt install libecpg-dev

           进入postgres数据库设置好密码,并建立好一个数据表并插入数据。

 

          编写一个嵌入式sql代码 命名为lab.pcg文件

          此代码功能是将loan_number L-15 对应的amount数值改成自己输入的数值    

EXEC SQL BEGIN DECLARE SECTION;  
	int 	anount;
const char *target = "aaa@qq.com";
    const char *user = "postgres";   //若无修改 默认为此用户名
    const char *password = "123456"; //注意将密码改成自己的密码
   
EXEC SQL END DECLARE SECTION;     
int main(void)                           
{
	char anount[16];
	printf("Please enter the amount number: "); 
	scanf("%d", anount);             /*get the amount number*/

	EXEC SQL CONNECT TO :target USER :user USING :password;
      
	
	EXEC SQL UPDATE LOAN SET amount = :anount WHERE loan_number = 'L-15'; 
	EXEC SQL COMMIT WORK;                           
	EXEC SQL DISCONNECT postgres;    
	
	printf("ok!");              
}

           

            使用ecpg工具对lab.pgc进行预编译生成一个c语言文件

ecpg lab.pcg

            接下来使用gcc的汇编,生成可执行文件

gcc lab.c -o lab -lecpg -I /user/include/postgresql

           执行生成的 ./lab 可执行程序

   《数据库系统概论》课程之实验五 通过嵌入式SQL访问数据库

           查看postgres数据库中的内容,发现数据已经被更改

   《数据库系统概论》课程之实验五 通过嵌入式SQL访问数据库