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

c和sql

发布时间: 2023-12-25 01:23:15

A. sql就是C语言吗两者有什么区别

不是,C是面向过程的编程语言,比如编写应用程序,偏向硬件。sql是结构化查询查询语言,比如有大量数据按一定的规律存好了,用sql语言可以快速查出需要的信息。

B. 什么是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. c如何与sql数据库连接

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

C或者以C++与SQL应该如何连接,谢谢!

解析:

用odbc或db-libary给你一小段db-library程序

int CreateProc(PDBPROCESS * dbproc,char * pwd,char * sname)

{

PLOGINREC login;

char sname[20];

unsigned short num;

memset(sname,0,sizeof(sname));

login=dblogin();

DBSETLUSER(login,"sa");

if(strlen(pwd)>0)

{

DBSETLPWD(login,pwd);

}

DBSETLVERSION(login, DBVER60);

dbprocerrhandle(login,err_handler);

dbprocmsghandle(login,msg_handler);

dbserverenum(LOC_SEARCH,sname,sizeof(sname),&num);

DBSETLTIME(login,20);

*dbproc=dbopen(login,sname);

if(*dbproc == NULL){

return ERR;

}

dbuse(*dbproc,"ccenter");

dbfreelogin(login);

return OK;

}

int check_grp_no(int grp_no, unsigned int * *** all_len)

{

int res=0;

int t=0;

dbcancel(dbproc);

dbfcmd(dbproc," select *** all_len from grp_table where grp_no=%d",grp_no);

res=dbsqlexec(dbproc);

if((res=dbresults(dbproc))==SUCCEED){

dbbind(dbproc,1,INTBIND,0,(unsigned char *) *** all_len);

while(dbnextrow(dbproc)!=NO_MORE_ROWS){

t++;

return OK;

}

}

return ERR;

}

D. C语言嵌套sql查询

嵌入式SQL程序的VC+SQL server 2000实现的环境配置

嵌入SQL的C应用程序具体到VC++6.0, SQL Server2000 下调试可分为五步:1、环境初始化;2、预编译;3、编译;4、连接;5、运行。下面就其中重要的的操作方法给以详细说明。
1、环境初始化
(1) SQL Server2000为其嵌入式SQL提供了一此特殊的接口;默认的安装方式没有安装这此接口;因此,需要把devtools.rar解压到SQLServer的系统日录下(即文件夹devtools中的所有文件);如果操作系统安装在C盘,则SQL Server的系统目录是C:\Program Files\Microsoft SQL Server。(或 在安装Microsoft SQL Server 2000时选择安装Development Tools,为使用嵌入式SQL语言准备必要的头文件和库文件。)
( 2)初始化Visual C++ 6.0编译器环境。在命令行方式下运行文件\Microsoft Visual Studio\VC98\Bin\vcvars32.bat。
(3)初始化SQL Server的预编译环境。在命令行方式下运行文件:\Devtools\samples\esqlc\setenv.bat。
( 4) VC++6.0环境配置。具体配置分为如下三步[:
①Tools->options->directories->Include Files:添加 C:\Program Files\Microsoft SQL Server\devtools\include。将SQL server自带的用于数据库开发的头文件包含到工程环境中。
②Tools->options->directories->Lib Files:添加C:\Program Files\Microsoft SQL Server\devtools\x861ib。将开发用到的包包含到工程中。
③project->Settings->Link->Object/Library Moles,添加库文件:SQLakw32.lib, Caw32.lib。这两个文件之间用空格分开。

2、预编译
C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQL Server的预处理程序是nsqlprep.exe。 nsqlprep.exe在SQL Server安装日录的MSSQL\Binn下。若SQL Server数据库采用的是默任安装方式,则需要把binn.rar的内容拷贝到指定目录下。

Microsoft SQL Server 2000提供的预编译程序nsqlprep.exe,用于对嵌入式SQL程序进行预编译处理,生成C语言源程序.实际上就是将嵌入式SQL程序中的嵌入式SQL语句替换为对运行时库文件Sqlakw32. dll的函数调用,接着运行时库文件调用动态连接库Ntwdblib. dll通过网络来存取Microsoft SQL Server 2000数据库服务器.
预编译程序nsqlprep的常用语法为:
nsqlprep ESQL_File /SQLACCESS /DB server_name.database_name /PASS login.password
其中ESQL_File是要预编译的嵌入式SQL程序;/SQLACCESS通知nsqlprep自动地为嵌入式SQL程序中的静态SQL语句创建相应的存储过程;/DB server_name.database_name指明要连接的服务器以及数据库名称;/PASS login.password给出登录名及相应的口令.

下面的程序demo.sqc实现了从数据库服务器hushaobo的数据库pubs中的authors表中读取au_lname为white的人对应的 au_fname 值,并保存到变量first_name 中显示出来。(连接数据库的用户为sa,对应密码为1982)

#include<stdio.h>
void main()
{
EXEC SQL BEGIN DECLARE SECTION;
char first_name[40];
char last_name[]="White";
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO hushaobo.pubs
USER sa.1982;
EXEC SQL SELECT au_fname INTO :first_name from authors WHERE au_lname = :last_name;
EXEC SQL DISCONNECT ALL;
printf("first name: %s \n",first_name);
}

在命令行下运行:nsqlprep demo.sqc /SQLACCESS /DB hushaobo.pubs /PASS sa.1982
则生成demo.c,将该文件添加到VC工程中编译即可。

3、编译,连接与运行
在VC++6.0中创建一个 "WIN32 Console Application"的Proiect,然后将预编译生成的c文件加入Proiect,编译连接即可生成访问SQL Server的可执行程序。 Visual C++ 6.0进行编译连接时需要用到动态链接库SQLakw32.d11与SQLaiw32.d11;尽管这两个文件已经随同binn.rar被拷贝到SQLServer安装目录的MSSQL\Binn文件夹下,但仍然需要把它们的路径加到系统路径变量中,以使得程序运行时能找到它们,具体添加方法如下:
方法1:把这两个文件拷贝到操作系统目录下的system32子目录中。
方法2:我的电脑->属性->高级->环境变量->path->编辑,在变量值中加入路径值;新路径与已有路径间用;间隔。

注意调适程序时,文件名中不要包含cursor,否则可能会出错。

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

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

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

连接到SAMPLE数据库,查询LASTNAME为JOHNSON的FIRSTNAME信息。
#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语句。如果一条嵌入式SQL语句占用多行,在C程序中可以用续行符“\”。

G. SQL语言有什么作用它与C语言有什么异同点。

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

热点内容
nas无盘服务器搭建教程 发布:2024-11-30 10:27:07 浏览:155
触摸精灵脚本解密 发布:2024-11-30 10:27:04 浏览:327
如何解锁密码锁上的密码用数字解 发布:2024-11-30 10:07:55 浏览:453
文件夹选项怎么找 发布:2024-11-30 10:05:50 浏览:377
安卓手机界面下面返回键怎么设置 发布:2024-11-30 09:59:12 浏览:64
名ftp是 发布:2024-11-30 09:59:12 浏览:293
用户上传伴奏 发布:2024-11-30 09:35:33 浏览:263
sql服务器配置失败 发布:2024-11-30 09:35:21 浏览:910
php从传智播客 发布:2024-11-30 09:33:47 浏览:965
硬盘录像机外接存储服务器 发布:2024-11-30 09:27:18 浏览:993