当前位置:首页 » 编程语言 » c数据库连接sql

c数据库连接sql

发布时间: 2022-06-09 19:19:35

A. 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 * small_len)
{
int res=0;
int cnt=0;
dbcancel(dbproc);
dbfcmd(dbproc," select small_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 *)small_len);
while(dbnextrow(dbproc)!=NO_MORE_ROWS){
cnt++;
return OK;
}

}

return ERR;
}

B. c#怎么和sql数据库连接

1、打开Visual Studio 2008工具,点击文件菜单,选择新建下面的项目选项,如下图所示。

C. c#如何连接sql,要代码

【C#连接SQL Server】
程序代码:
using System.Data;
using System.Data.SqlClient; //使用的命名空间

string connectionString=”Server(Data Source)=服务器名;initial catalog(Database)=数据库名;user id(uid)=用户名;password(pwd)=密码;(Windows登陆模式:Trusted Connection=SSPI);Connect Timeout=30”;
//创建数据库连接字符串

SqlConnection connectionObj=new SqlConnection(connectionString); //建立连接对象
connectionObj.Open(); //连接打开
/*创建SqlCommand等进行数据库操作*/
connectionObj.Close();//连接关闭

解释:
“user id”:连接数据库的验证用户名。
“password=”:连接数据库的验证密码。
这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录。如果你的SQL Server设置为Windows登录,那么在这里就不需要使用“user id”和“password”这样的方式来登录,而需要使用“Trusted_Connection=SSPI”来进行登录。
“initial catalog=”:使用的数据源。
“Server=”:使用的服务器。
“Connect Timeout=30”:连接超时时间为30秒。
在这里,建立连接对象用的构造函数为:SqlConnection。

D. 如何用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语句。

E. 用c语言怎样连接sql数据库

SQL 有API的,包含头文件和连接使用相应的.lib就可以

~
~
~

F. c怎么连接sql server数据库

1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>.SQL Server Management Studio 下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist <3>.SQL Server 2005 driver for JDBC 下载地址:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe 2.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) 是用java连接吗? 如果是,方法如下: <1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量 在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar <2> 设置SQLEXPRESS服务器: a.打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP b.右键单击启动TCP/IP c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433 d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器 e.关闭SQL Server Configuration Manager <3> 打开刚刚安装好的 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample <4> 打开Eclipse a.新建工程-> Java -> Java project,起名为Test b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中 <5> 编写Java代码来测试JDBC连接SQL Server数据库

G. c语言连接SQL Server数据库并操作表中数据的代码没有错误,但是无法执行

1、配置
ODBC数据源

2、使用
SQL函数
进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
#include
#include
#include
void
main()
{
HENV
henv;
//环境
句柄
HDBC
hdbc;
//数据源句柄
HSTMT
hstmt;
//执行语句句柄
unsigned
char
datasource[]="数据源名称";
//即源中设置的源名称
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_NULL
,
&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);

H. c/c++怎么连接数据库,并执行SQL语句

C++连接SQL数据库第一步 系统配置
1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码。
2.需要在ODBC中进行数据源配置,数据源选\”SQL SERVER”,登录方式使用“使用输入用户登录ID和密码的SQL SERVER验证”,并填写登录名(sa)和密码,注意一点,密码不能为空,这就意味着你的sa用户必须得有密码。否则无法通过系统本身的安全策略。测试通过就完成了配置。
C++连接SQL数据库第二步 C++与SQL连接初始化
1.在你所建立的C++项目中的stdafx.h头文件中引入ADO
具体代码如下
#import “c:\Program Files\Common Files\System\ado\msado15.dll”
no_namespace rename(”EOF”, “adoEOF”) rename(”BOF”, “adoBOF”)
2.定义_ConnectionPtr变量后调用Connection对象的Open方法建立与服务器的连接。
数据类型_ConnectionPtr实际上是由类模板_com_ptr_t得到的一个具体的实例类。_ConnectionPtr类封装了Connection对象的Idispatch接口指针及其一些必要的操作。可以通过这个指针操纵Connection对象。
例如连接SQLServer数据库,代码如下:
//连接到MS SQL Server
//初始化指针
_ConnectionPtr pMyConnect = NULL;
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
return;
//初始化链接参数
_bstr_t strConnect = “Provider=SQLOLEDB;
Server=hch;
Database=mytest;
uid=sa; pwd=sa;”; //Database指你系统中的数据库
//执行连接
try
{
// Open方法连接字串必须四BSTR或者_bstr_t类型
pMyConnect->Open(strConnect, “”, “”, NULL);
}
catch(_com_error &e)
{
MessageBox(e.Description(), “警告”, MB_OK|MB_ICONINFORMATION);
}//发生链接错误

C++连接SQL数据库第三步 简单的数据连接
//定义_RecordsetPtr变量,调用它Recordset对象的Open,即可打开一个数据集
//初始化过程 以下是个实例
_RecordsetPtr pRecordset;
if (FAILED(pRecordset.CreateInstance(__uuidof(Recordset))))
{
return;
}
//执行操作
try
{
pRecordset->Open(_variant_t(”userinfo”),
_variant_t((IDispatch*)pMyConnect),
adOpenKeyset, adLockOptimistic, adCmdTable);
}
catch (_com_error &e)
{
MessageBox(”无法打开userinfo表\”, “系统提示”,
MB_OK|MB_ICONINFORMATION);
}

C++连接SQL数据库第四步 执行SQL语句
这里是关键,我认为只要你懂点SQL语句那么一切都会方便许多比用上面的方法简单,更有效率点。
首先
m_pConnection.CreateInstance(_uuidof(Connection));
//初始化Connection指针
m_pRecordset.CreateInstance(__uuidof(Recordset));
//初始化Recordset指针
CString strSql=”select * from tb_goods”;//具体执行的SQL语句
m_pRecordset=m_pConnection->Execute(_bstr_t(strSql),
NULL, adCmdText);//将查询数据导入m_pRecordset数据容器
至此 你的SQL语句已经执行完成了m_pRecordset内的数据就是你执行的结果。
取得记录:
while(!m_pRecordset->adoEOF)//遍历并读取name列的记录并输出
{
CString temp = (TCHAR *)(_bstr_t)m_pRecordset->GetFields()->GetItem
(”name”)->Value;
AfxMessageBox(temp);
pRecordset->MoveNext();
}

插入记录
//记得初始化指针再执行以下操作
CString strsql;
strsql.Format(”insert into tb_goods(no,name, price)
values(’%d’,'%s’, %d)”,m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->
Execute(_bstr_t(strsql),NULL,adCmdText);

修改记录
CString strsql;
strsql.Format(”update tb_goods set name=’%s’ ,
price=%d where no=%d “,m_strName,m_intPrice,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText);

删除记录
CString strsql;
strsql.Format(”delete from tb_goodswhere no= ‘%d’ “,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText)

I. 用c语言怎么连接数据库呢

25.2.2. C API函数概述
这里归纳了C API可使用的函数,并在下一节详细介绍了它们。请参见25.2.3节,“C API函数描述”。

函数
描述

mysql_affected_rows()
返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数。

mysql_autocommit()
切换 autocommit模式,ON/OFF

mysql_change_user()
更改打开连接上的用户和数据库。

mysql_charset_name()
返回用于连接的默认字符集的名称。

mysql_close()
关闭服务器连接。

mysql_commit()
提交事务。

mysql_connect()
连接到MySQL服务器。该函数已不再被重视,使用mysql_real_connect()取代。

mysql_create_db()
创建数据库。该函数已不再被重视,使用SQL语句CREATE DATABASE取而代之。

mysql_data_seek()
在查询结果集中查找属性行编号。

mysql_debug()
用给定的字符串执行DBUG_PUSH。

mysql_drop_db()
撤销数据库。该函数已不再被重视,使用SQL语句DROP DATABASE取而代之。

mysql_mp_debug_info()
让服务器将调试信息写入日志。

mysql_eof()
确定是否读取了结果集的最后一行。该函数已不再被重视,可以使用mysql_errno()或mysql_error()取而代之。

mysql_errno()
返回上次调用的MySQL函数的错误编号。

mysql_error()
返回上次调用的MySQL函数的错误消息。

mysql_escape_string()
为了用在SQL语句中,对特殊字符进行转义处理。

mysql_fetch_field()
返回下一个表字段的类型。

mysql_fetch_field_direct()
给定字段编号,返回表字段的类型。

mysql_fetch_fields()
返回所有字段结构的数组。

mysql_fetch_lengths()
返回当前行中所有列的长度。

mysql_fetch_row()
从结果集中获取下一行

mysql_field_seek()
将列光标置于指定的列。

mysql_field_count()
返回上次执行语句的结果列的数目。

mysql_field_tell()
返回上次mysql_fetch_field()所使用字段光标的位置。

mysql_free_result()
释放结果集使用的内存。

mysql_get_client_info()
以字符串形式返回客户端版本信息。

mysql_get_client_version()
以整数形式返回客户端版本信息。

mysql_get_host_info()
返回描述连接的字符串。

mysql_get_server_version()
以整数形式返回服务器的版本号。

mysql_get_proto_info()
返回连接所使用的协议版本。

mysql_get_server_info()
返回服务器的版本号。

mysql_info()
返回关于最近所执行查询的信息。

mysql_init()
获取或初始化MYSQL结构。

mysql_insert_id()
返回上一个查询为AUTO_INCREMENT列生成的ID。

mysql_kill()
杀死给定的线程。

mysql_library_end()
最终确定MySQL C API库。

mysql_library_init()
初始化MySQL C API库。

mysql_list_dbs()
返回与简单正则表达式匹配的数据库名称。

mysql_list_fields()
返回与简单正则表达式匹配的字段名称。

mysql_list_processes()
返回当前服务器线程的列表。

mysql_list_tables()
返回与简单正则表达式匹配的表名。

mysql_more_results()
检查是否还存在其他结果。

mysql_next_result()
在多语句执行过程中返回/初始化下一个结果。

mysql_num_fields()
返回结果集中的列数。

mysql_num_rows()
返回结果集中的行数。

mysql_options()
为mysql_connect()设置连接选项。

mysql_ping()
检查与服务器的连接是否工作,如有必要重新连接。

mysql_query()
执行指定为“以Null终结的字符串”的SQL查询。

mysql_real_connect()
连接到MySQL服务器。

mysql_real_escape_string()
考虑到连接的当前字符集,为了在SQL语句中使用,对字符串中的特殊字符进行转义处理。

mysql_real_query()
执行指定为计数字符串的SQL查询。

mysql_refresh()
刷新或复位表和高速缓冲。

mysql_reload()
通知服务器再次加载授权表。

mysql_rollback()
回滚事务。

mysql_row_seek()
使用从mysql_row_tell()返回的值,查找结果集中的行偏移。

mysql_row_tell()
返回行光标位置。

mysql_select_db()
选择数据库。

mysql_server_end()
最终确定嵌入式服务器库。

mysql_server_init()
初始化嵌入式服务器库。

mysql_set_server_option()
为连接设置选项(如多语句)。

mysql_sqlstate()
返回关于上一个错误的SQLSTATE错误代码。

mysql_shutdown()
关闭数据库服务器。

mysql_stat()
以字符串形式返回服务器状态。

mysql_store_result()
检索完整的结果集至客户端。

mysql_thread_id()
返回当前线程ID。

mysql_thread_safe()
如果客户端已编译为线程安全的,返回1。

mysql_use_result()
初始化逐行的结果集检索。

mysql_warning_count()
返回上一个SQL语句的告警数。 详见:http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c-api-function-overview
http://dev.mysql.com/doc/refman/5.0/en/c.html

J. 如何用C语言连接MYSQL数据库

1、配置ODBC数据源。
2、使用SQL函数进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void
main()
{
HENV
henv;
//环境句柄
HDBC
hdbc;
//数据源句柄
HSTMT
hstmt;
//执行语句句柄
unsigned
char
datasource[]="数据源名称";
//即源中设置的源名称
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_NULL
,
&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身份验证,第二、三参数可以是

热点内容
cfft算法 发布:2025-02-08 04:53:59 浏览:958
极客学院php 发布:2025-02-08 04:52:32 浏览:776
书本编译是什么意思 发布:2025-02-08 04:45:56 浏览:951
淘宝密码账号在哪里看 发布:2025-02-08 04:29:39 浏览:536
描绘四季的美文写一份朗读脚本 发布:2025-02-08 04:29:21 浏览:138
金蝶软件服务器是电脑吗 发布:2025-02-08 04:27:06 浏览:973
linux如何搭建c编译环境 发布:2025-02-08 04:24:49 浏览:821
ps脚本批量处理切图 发布:2025-02-08 04:19:03 浏览:57
iisftp命令 发布:2025-02-08 04:04:39 浏览:455
安卓为什么软件老更新 发布:2025-02-08 03:53:40 浏览:735