c语言怎样连接数据库

别胡思乱想了,你都用了微软的sql server了,用api吧
除非你用sqlite3,用c接口还情有可原

徐珲冠郊普芦姓祠止巩郎准赞四茕鄞昶下奘君船

Ⅱ 如何测试sql 2008连接数据库连接

更改端口
可以配置
tcp/ip
协议以侦听指定的端口。
默认情况下,数据库引擎的默认实例侦听
tcp
端口
1433。
配置数据库引擎和
sql
server
compact
的命名实例以用于动态端口。这表示这些实例将在
sql
server
服务启动时选择一个可用端口。
sql
server
browser
服务可帮助客户端在连接时识别端口。
配置为使用动态端口后,在每次启动时
sql
server
使用的端口可能都会发生变化。
如果通过防火墙连接到
sql
server,则必须打开
sql
server
使用的端口。

sql
server
配置为使用特定端口,这样就可以将防火墙配置为允许与服务器通信。
有关详细信息,请参阅配置服务器以侦听特定
tcp
端口(sql
server
配置管理器)。
更改命名管道
您可以配置命名管道协议以侦听指定的命名管道。
默认情况下,sql
server
数据库引擎的默认实例对默认实例侦听管道
\\.
\pipe\sql\query,对命名实例侦听
\\.
\pipe\mssql$
\sql\query。
数据库引擎只能侦听一个命名管道,但您可以根据需要将该管道更改为其他名称。
sql
server
browser
服务可帮助客户端在连接时识别管道。
有关详细信息,请参阅配置服务器以侦听备用管道(sql
server
配置管理器)。
关于端口的详细信息请参考下面的官方文档说明:
http://msdn.microsoft.com/zh-cn/library/ms177440.aspx

Ⅲ 怎么测试c#连接上了sql server2008数据库

new
sqlconnection(你的连接字符串).open
看是否报错。
不报错就连接上了。

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

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

#include<windows.h>
#include<sql.h>
#include<sqlext.h>
voidmain()
{
HENVhenv;//环境句柄
HDBChdbc;//数据源句柄
HSTMThstmt;//执行语句句柄
unsignedchardatasource[]="数据源名称";//即源中设置的源名称
unsignedcharuser[]="用户名";//数据库的帐户名
unsignedcharpwd[]="密码";//数据库的密码
unsignedcharsearch[]="selectxmfromstuwherexh=0";
SQLRETURNretcode;//记录各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身份验证,第二、三参数可以是
,也可以是任何字串
//SQL_NTS即"
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);
}

Ⅳ 用C语言怎么实现与数据库的连接

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn;

MYSQL_RES*res;

MYSQL_ROWrow;

char*server="localhost";//本地连接

char*user="root";//

char*password="525215980";//mysql密码

char*database="student";//数据库名

char*query="select*fromclass";//需要查询的语句

intt,r;

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))

{

printf("Errorconnectingtodatabase:%s ",mysql_error(conn));

}else{

printf("Connected... ");

}

t=mysql_query(conn,query);

if(t)

{

printf("Errormakingquery:%s ",mysql_error(conn));

}else{

printf("Querymade... ");

res=mysql_use_result(conn);

if(res)

{

while((row=mysql_fetch_row(res))!=NULL)

{

//printf("num=%d ",mysql_num_fields(res));//列数

for(t=0;t<mysql_num_fields(res);t++)

printf("%8s",row[t]);

printf(" ");

}

}

mysql_free_result(res);

}

mysql_close(conn);

return0;

}

(5)c如何测试网络连接数据库扩展阅读

C语言使用注意事项:

1、指针是c语言的灵魂,一定要灵活的使用它:

(1)、指针的声明,创建,赋值,销毁等

(2)、指针的类型转换,传参,回调等

2、递归调用也会经常用到:

(1)、递归遍历树结构

(2)、递归搜索

Ⅵ 如何测试服务器数据库是否连接成功

1、 安装数据库服务器。如:MS SQL
Server、MySQL、Oracle。我试着装MS SQL SERVER 2000。

2、
本机测试:A.直接启动服务管理器看看能否启动。B.用查询分析器看看能否连接服务管理器。C.用企业管理器能否启动连接服务管理器。成功证明本机使用基本无问题。

3、 另机测试:A.能否PING通服务器IP.。B.用TELNET 服务器IP
1433查看1433端口能否连接。(当看到“不能打开到主机的连接,在端口1433:连接失败。”那是最脑火不过的事情了,为了应用程序能远程连接数据库,我真吃了不少苦头)。当然可安装客户端工具,如用查询分析器测试能否连接。

4、 如上三步没有问题,数据库服务器安装成功了。

Ⅶ c语言如何检测网络是否连接

1、如果对方断开连接的话,那么readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值应该是0,可以根据返回值判断。
2、recv函数返回值说明
recv函数
int recv( SOCKET s, char FAR *buf, int len, int flags);
不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 第三个参数指明buf的长度; 第四个参数一般置0。
这里只描述同步Socket的recv函数的执行流程。当应用程序调用recv函数时,
(1)recv先等待s的发送缓冲中的数据被协议传送完毕,如果协议在传送s的发送缓冲中的数据时出现网络错误,那么recv函数返回SOCKET_ERROR,
(2)如果s的发送缓冲中没有数据或者数据被协议成功发送完毕后,recv先检查套接字s的接收缓冲区,如果s接收缓冲区中没有数据或者协议正在接收数 据,那么recv就一直等待,直到协议把数据接收完毕。当协议把数据接收完毕,recv函数就把s的接收缓冲中的数据到buf中(注意协议接收到的数据可能大于buf的长度,所以 在这种情况下要调用几次recv函数才能把s的接收缓冲中的数据完。recv函数仅仅是数据,真正的接收数据是协议来完成的), recv函数返回其实际的字节数。如果recv在时出错,那么它返回SOCKET_ERROR;如果recv函数在等待协议接收数据时网络中断了,那么它返回0。 默认 socket 是阻塞的 解阻塞与非阻塞recv返回值没有区分,都是 <0 出错 =0 连接关闭 >0 接收到数据大小,
特别:返回值<0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要循环读取)。
返回说明: 成功执行时,返回接收到的字节数。另一端已关闭则返回0。失败返回-1,errno被设为以下的某个值 EAGAIN:套接字已标记为非阻塞,而接收操作被阻塞或者接收超时 EBADF:sock不是有效的描述词 ECONNREFUSE:远程主机阻绝网络连接 EFAULT:内存空间访问出错 EINTR:操作被信号中断 EINVAL:参数无效 ENOMEM:内存不足 ENOTCONN:与面向连接关联的套接字尚未被连接上 ENOTSOCK:sock索引的不是套接字 当返回值是0时,为正常关闭连接;
思考:当对侧没有send,即本侧的套接字s的接收缓冲区无数据,返回值是什么(EAGAIN,原因为超时,待测)

Ⅷ C# 怎么测试连接数据库啊

if
(sqlcon.State
==
ConnectionState.Open)
{
来sqlcon.Close();
sqlcon.Dispose();
}
把这段代源码移到finally,然后就不用else了,Connection用完就关。

Ⅸ Excel 如何测试数据库连接

Excel程序自带的外部数据连接功能,可以连接SQL服务器。具体步骤为:
1、选择【数据版】选项卡,在【获取权外部数据】分组,找到【自其他来源】。
2、单击【自其他来源】按钮,打开【选择来源】下拉菜单。
3、选择【来自SQL Server】打开【数据连接向导】对话框。
4、填写服务器名称、登录的用户名及密码等信息,即可成功连接。