当前位置:首页 » 编程语言 » c语言sql

c语言sql

发布时间: 2022-06-21 14:08:46

sql语言有什么作用它与c语言有什么异同点。

SQL既结构化查询语言,是一种关系型数据库.作用和ORACLE,DB2,MYSQL类似.
作用:存储数据,查询数据.处理数据.
C语言是一种过程性语言,是从事系统软件和游戏软件开发的语言,现在主要是用VC++,它也可以从事手机系统开发,像塞班系统就是VC开发的.
SQL是一种非过程化语言,你只用下命令,不用说明怎么做,软件帮你解决.而C语言是过程化语言,你不仅要下命令,还要说明怎么做,难度远远大于SQL.

② c语言和SQL的比较

说说C语言:
我学过C语言,它只能编写DOS程序,功能不是很强大,但却是基础,因为大部分流行的编程软件都与C语言的语法结构类似,一定要先学。

C++:
C语言进化而来的,有强大的功能,举例吧:
软件:
微软的Office系列
Macromedia网页三剑客 - flash,dreamweaver,fireworks
Adobe出的 超有名的作图软件 - PhotoShop
3D动画软件 - 3DMax
.....
游戏:
PC平台几乎所有的游戏
星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界....
那数不胜数了,自己数吧:)
以上均出自C++之手,原因是C++靠近计算机底层,编写出来的程序对系统资源依赖较小,功能强大,运行速度快,比如你的两个朋友与你分别玩 用 VB、Java、与C++编写的“跑跑卡丁车”,你玩C++那款游戏已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相当的卡啊,所以这一系列的软件、游戏都会采用C++编写。
虽然C++很有优点,但是对于学习者来说应该是比较困难的一门语言。(再说明一点,C或C++属于语言,而VC - “Visual C++”是用来编写C或C++的工具)

说说SQL:

SQL是结构化查询语言(STRUCTURED QUERY LANGUAGE),它是一组专用的程序命令,可完成如下任务:
在一个或多个数据库的一个或多个表中检索数据.
通过插入,删除或更改记录操纵表中数据.
对表的数据进行数学统计.
创建,更改或删除数据库中的表(仅ACCESS数据库)
创建或删除表中的索引.
SQL查询语言主要结构为:
Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
查询字段必须分别用(西文)逗号分开或就用一个*号代替.
仅供参考.

③ 如何在C语言里面执行SQL语句

C语言程序与数据库打交道的方式分为直连(同步)和非直连(异步)两种,它们的特点如下所示:
1. 直连方式
在该方式中,C语言程序直接与数据库进行消息的交互。
该方式的优点是消息交互是即时的,C语言程序向数据库发送消息之后,很快就能够得到结果;缺点是如果数据库执行缓慢,那么C语言程序需要挂在那里等待结果,影响了程序执行效率。
2. 非直连方式
在该方式中,C语言程序通过一个独立的第三方模块间接与数据库进行消息的交互。
该方式的优点是当C语言程序向第三方模块发送消息之后,可以不用等待数据库返回结果而去执行其它流程;缺点是如果消息序列号没有定义好,那么极有可能会导致第三方模块返回的结果出现混乱。因此,在该方式中,定义好发送消息的顺序(即设定好序列号)很重要。
由于需要与数据库打交道,因此要在C语言程序所使用的配置文件中填写好关联数据库的相关信息,如数据库机器的IP地址、端口号、用户名、密码、模块号和所操作的具体数据库名等。在运行程序之前,一定要确保相关配置项信息的正确性。

④ c语言中的sql写法

前面是定义了一个存储过程,使用的时候用EXEC SQL FETCH c5 INTO :city,:flag,:accnum;也是执行的过程,>=是大于等于的意思

⑤ SQL就是C语言吗两者有什么区别

不是,SQL是数据库,C是编程语言。不是一个概念

⑥ 关于C语言连接SQL数据库…

1、配置ODBC数据源。
2、使用SQL函数进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:

#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void main()
{
HENV henv; //环境句柄
HDBC hdbc; //数据源句柄
HSTMT hstmt; //执行语句句柄
unsigned char datasource[]="数据源名称"; //即<a href="https://www..com/s?wd=ODBC&tn=44039180_cpr&fenlei=_5y9YIZ0lQzqlpA-" target="_blank" class="-highlight">ODBC</a>源中设置的源名称
unsigned char user[]= "用户名"; //数据库的帐户名
unsigned char pwd[]= "密码"; //数据库的密码
unsigned char search[]="select xm from stu where xh=0";
SQLRETURN retcode; //记录各SQL函数的返回情况
// 分配环境句柄
retcode= SQLAllocEnv(&henv); // 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_<a href="https://www..com/s?wd=NULL&tn=44039180_cpr&fenlei=_5y9YIZ0lQzqlpA-" target="_blank" class="-highlight">NULL</a>_HANDLE, &henv);
// 设置ODBC环境版本号为3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配连接句柄
retcode= SQLAllocConnect(henv,&hdbc); // 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//设置连接属性,登录超时为*rgbValue秒(可以没有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);

//直接连接数据源
// 如果是windows身份验证,第二、三参数可以是<a href="https://www..com/s?wd=NULL&tn=44039180_cpr&fenlei=_5y9YIZ0lQzqlpA-" target="_blank" class="-highlight">NULL</a>,也可以是任何字串
//SQL_NTS 即 "<a href="https://www..com/s?wd=Null&tn=44039180_cpr&fenlei=_5y9YIZ0lQzqlpA-" target="_blank" class="-highlight">Null</a>-Terminated String"
retcode= SQLConnect(hdbc,datasource, SQL_NTS, user, SQL_NTS , pwd, SQL_NTS );
//分配语句句柄
retcode= SQLAllocStmt(hdbc,&hstmt); // 等介于 SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
//直接执行查询语句
retcode=SQLExecDirect(hstmt,search,SQL_NTS);
//将数据缓冲区绑定数据库中的相应字段(i是查询结果集列号,queryData是绑定缓冲区,BUFF_LENGTH是缓冲区长度)
SQLBindCol(hstmt, i, SQL_C_CHAR, queryData[i-1], BUFF_LENGTH, 0);
//遍历结果集到相应缓冲区 queryData
SQLFetch(hstmt);
/*
*对遍历结果的相关操作,如显示等
*/
//注意释放顺序,否则会造成未知错误!
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}

代码看上去很复杂,其实都可以直接复制。其中需要改的是数据源名称、数据库用户名、数据库密码和SQL语句。
然后就是SQLFetch后得到结果集后,如何使用的问题了。
在下面的注释部分 填写你的处理代码即可。

/*
*对遍历结果的相关操作,如显示等
*/

⑦ 什么是C语言,SQL语言。那个更重要啊

要回答这个问题,首先要说到“面向过程的编程语言”、“面向对像的编程语言”、“结构化查询语言”。
事实上这三种是完全不同的概念。举个“1+1=2”这个等式的例子。“面向过程的编程语言”应理解为整个等式从形成到完成的过程,如1+1为什么等于2,还有等于2的答案吗?除了1+1还有没有其它的方法,像0+2或0.5+1.5等等。说专业一点,学面向过程主要是学“算法”以提高运算效率;“面向对像的编程语言”应理解为如何去把“1+1=2”这个等式“可视化”给大家看,也就是说这个等式是由五个“对像”:“1”、“+”、“1”、“=”和“2”组成。说专业一点,学面对像主要是从如何应用对像设计用户界面学起;“结构化查询语言”的理解最特别,对于我这个从面向过程学到面向对象的人刚开始很不适应。因为,它解决是等式完成的过程。你不需要理会这等式是怎么形成和运算出来的,就是要它一个结果。如上面,你可以给电脑一个指令说,我要结果等于2.他就会把所以结果等于2的等式都给你。综上所述,这三种语言都要学。面向过程是学算法以提高效率,面向对像是学用户界面的呈现,而结构化查询是为了方便数据的处理。

⑧ 如何用C实现对SQL数据库的操作

#include <stdio.h> #include <stdlib.h> #include <string.h> #include "util.h" #include <sqlca.h>`` EXEC SQL INCLUDE SQLCA;main(){EXEC SQL BEGIN DECLARE SECTION; char firstname[13]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT TO sample; EXEC SQL SELECT FIRSTNME INTO :firstname FROM employee WHERE LASTNAME = 'JOHNSON'; printf( "First name = %s\n", firstname ); EXEC SQL CONNECT RESET;return 0;}上面是一个简单的静态嵌入SQL语句的应用程序。它包括了嵌入SQL的主要部分: (1)中的include SQLCA语句定义并描述了SQLCA的结构。SQLCA用于应用程序和数据库之间的通讯,其中的SQLCODE返回SQL语句执行后的结果状态。 (2)在BEGIN DECLARE SECTION和END DECLARE SECTION之间定义了宿主变量。宿主变量可被SQL语句引用,也可以被C语言语句引用。它用于将程序中的数据通过SQL语句传给数据库管理器,或从数据库管理器接收查询的结果。在SQL语句中,主变量前均有“:”标志以示区别。 (3)在每次访问数据库之前必须做CONNECT操作,以连接到某一个数据库上。这时,应该保证数据库实例已经启动。 (4)是一条选择语句。它将表employee中的LASTNAME为“JOHNSON”的行数据的FIRSTNAME查出,并将它放在firstname变量中。该语句返回一个结果。可以通过游标返回多个结果。当然,也可以包含update、insert和delete语句。 (5)最后断开数据库的连接。 从上例看出,每条嵌入式SQL语句都用EXEC SQL开始,表明它是一条SQL语句。这也是告诉预编译器在EXEC SQL和“;”之间是嵌入SQL语句。

⑨ c语言怎么使用sql触发器

c语言怎么使用sql触发器:
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。

我为什么要使用触发器?比如,这么两个表:

Create Table Student( --学生表
StudentID int primary key, --学号
....
)

Create Table BorrowRecord( --学生借书记录表
BorrowRecord int identity(1,1), --流水号
StudentID int , --学号
BorrowDate datetime, --借出时间
ReturnDAte Datetime, --归还时间
...
)

用到的功能有:
1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);
2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。
等等。

这时候可以用到触发器。对于1,创建一个Update触发器:

Create Trigger truStudent
On Student --在Student表中创建触发器
for Update --为什么事件触发
As --事件触发后所要做的事情
if Update(StudentID)
begin

Update BorrowRecord
Set StudentID=i.StudentID
From BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表
Where br.StudentID=d.StudentID

end

理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。
一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是:
虚拟表Inserted 虚拟表Deleted

在表记录新增时 存放新增的记录 不存储记录
修改时 存放用来更新的新记录 存放更新前的记录
删除时 不存储记录 存放被删除的记录

一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。

对于2,创建一个Delete触发器
Create trigger trdStudent
On Student
for Delete
As
Delete BorrowRecord
From BorrowRecord br , Delted d
Where br.StudentID=d.StudentID

从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。

⑩ c语言怎么与SQL相连

先安装SQL Server,在SQL Server中创建数据库,然后编写C代码访问SQL Server,即可实现相连。

热点内容
ubuntu设置ftp权限 发布:2025-02-06 01:54:07 浏览:598
奇瑞5哪个配置值得买 发布:2025-02-06 01:51:56 浏览:551
黑鲨手机哪里看安卓版本 发布:2025-02-06 01:36:04 浏览:802
如何配置2柠檬酸 发布:2025-02-06 00:57:26 浏览:435
积木源码 发布:2025-02-06 00:55:26 浏览:546
变分的运算法则 发布:2025-02-06 00:55:21 浏览:776
x2哪个配置性价比高 发布:2025-02-06 00:40:12 浏览:110
猪哥亮访问张菲 发布:2025-02-06 00:37:52 浏览:571
期货账户怎么改密码 发布:2025-02-06 00:32:35 浏览:280
qq自动上传群文件 发布:2025-02-06 00:26:25 浏览:112