c语言怎样连接数据库?

c语言怎样连接数据库?,第1张

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[]="数据源名称"//即源中设置的源名称

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身份验证,第二、三参数可以是

,也可以是任何字串

//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)

}

在Visual Studio 2005连接SQL Server 2000中,我们可能会知道,连接字符串会比较简单,一般远程连接的时候,只需要在Web.config文件配置如下:

<appSettings>

<add key="ConnectionString" value="server=(local)database=MyDbuid=sapwd=saMax pool size=1000Connect

Timeout=20"/>

</appSettings>

然后在代码中通过调用下面的语句就可以实现数据库的连接了。

SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"])

在此前提只需要把身份验证设置成为SQL Server和Windows验证就可以了。

而在SQL Server 2005中,如果直接这样 *** 作就会报下面的错误:

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 。

我们就需要单独对SQL Server 2005进行配置,步骤如下:

1.配置SQL Server外围应用服务器,开启SQL2005远程连接功能:

*** 作方式如下,点击“配置工具”->“SQL Server外围应用配置器”,然后在打开的窗口中选择“服务和连接的外围应用配置器”->然后选择Database Engine节点下的 “远程连接”,选择“本地连接和远程连接”,同时选择“同时使用TCP/IP和named pipes”,确定后然后需要重新启动数据库服务就可以了。

2.把登陆设置改为SQL Server 和 Windows 身份验证模式,具体设置如下:

打开SQL Server Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQL Server 和 Windows 身份验证模式”。

3.修改SQL Server sa的密码,体设置如下:

在SQL Server Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。注意SQL Server2005中,不允许密码设置简单,否则会通不过。然后在选择页的“状态”的登录修改为启用。

4.数据库连接字符串:

数据库连接字符串有很多种,如:

Data Server=.\SQLEXPRESSInitial Catalog=NorthwindUser ID=saPassword=sapassSql

Data Server=服务器名\SQLEXPRESSInitial Catalog=NorthwindUser ID=saPassword= sapassSql

Data Server=localhost\SQLEXPRESSInitial Catalog=NorthwindUser ID=saPassword= sapassSql

Data Server=.Initial Catalog=NorthwindUser ID=saPassword= sapassSql

Data Server=服务器名Initial Catalog=NorthwindUser ID=saPassword= sapassSql

具体的选择是和SQL Server2005的版本有关系,如果是SQL Server 2005 Express版本,则必须要有“\SQLEXPRESS”,因此如果字符串是定义为一个变量的时候应该写成Server=.\\SQLEXPRESS。

5.在.net2.0 Framework中注册SQL Server数据库:

找到.net2.0 Framework的安装路径,一般安装在 “C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录下,然后在DOS中在指定目录下运行 “ASPNET_REGSQL”指令,就会出现ASP.NET SQL Server安装向导,点击“下一步”,然后选择“为应用程序服务配置SQL Server”,然后直接点击下一步,就会完成SQL Server注册界面。我们就会看到NorthWind数据库下面多了几张表。

6.设置web.config文件:

在应用程序中的web.config文件添加如下数据库连接的配置:

<connectionStrings>

<add name="ConnectionSqlServer" connectionString="Data Source= .\SQLEXPRESSInitial Catalog=NorthwindUser ID=saPassword= sapassSql" providerName="System.Data.SqlClient"/>

</connectionStrings>

这样我们便在Visual Studio 2005中可以轻松的调用SQL Server的数据连接了。

现在我们来对上面所做的步骤来测试数据的连接,我们打开Visual Studio 2005,在视图的“服务器资源管理器”来添加SQL Server 2005的连接,通过输入服务器名称和对应的SQL Server身份验证的sa用户名密码后,选取对应的数据库,然后点击“测试连接”,就会成功的连接到数据库了。

$_config['db']['1']['dbhost'] = 'localhost' #改成自己的数据库地址, 例如:localhost改成192.168.0.2

$_config['db']['1']['dbuser'] = 'sq_xstty' #改成自己的数据库用户名,例如:sq_xstty改成root

$_config['db']['1']['dbpw'] = '123456'#改成自己的密码,例如:123456改成root

$_config['db']['1']['dbcharset'] = 'utf8' #默认字符集可不改

$_config['db']['1']['pconnect'] = '0'

$_config['db']['1']['dbname'] = 'sq_xstty'#改成自己的数据库名字,例如:sq_xstty改成sutdent

$_config['db']['1']['tablepre'] = 'pre_'


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6624886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存