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

  • 实验目的

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

  • 实验内容和要求

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

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

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

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

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

 

  •  实验内容与完成情况

            首先安装postgre数据库

sudo apt-get install postgresql

           安装预编译所需要的工具

sudo apt install libecpg-dev

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

扫描二维码关注公众号,回复: 2247269 查看本文章

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

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

EXEC SQL BEGIN DECLARE SECTION;  
	int 	anount;
const char *target = "postgres@localhost";
    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 可执行程序

   

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

   

猜你喜欢

转载自blog.csdn.net/Detective_/article/details/81082080