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

关于C语言连接SQL数据库…,第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[]="数据源名称" //即<a href="https://www.baidu.com/s?wd=ODBC&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-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.baidu.com/s?wd=NULL&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-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.baidu.com/s?wd=NULL&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight">NULL</a>,也可以是任何字串

//SQL_NTS 即 "<a href="https://www.baidu.com/s?wd=Null&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-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#连接数据库有以下几个步骤:

1:使用配置的数据库连接串,创建数据库连接 Connection 对象

2:构建 *** 作的sql语句

3:定义command对象

4:打开数据连接

5:执行命令

举一个例子,删除 *** 作

public class StudentService

{

//从配置文件中读取数据库连接字符串

private readonly static string connString = ConfigurationManager.ConnectionStrings["accpConnectionString"].ToString()

private readonly static string dboOwner = ConfigurationManager.ConnectionStrings["DataBaseOwner"].ToString()

AdoNetModels.Student model = new Student()

#region 删除数据1

public int DeleteStudent(int stuID)

{

int result = 0

// 数据库连接 Connection 对象

SqlConnection connection = new SqlConnection(connString)

// 构建删除的sql语句

string sql = string.Format("Delete From Student Where stuID={0}", stuID)

// 定义command对象

SqlCommand command = new SqlCommand(sql, connection)

try

{

connection.Open()

result = command.ExecuteNonQuery() // 执行命令

}

catch (Exception ex)

{

Console.WriteLine(ex.Message)

}

finally

{

connection.Close()

}

return result

}

#endregion

使用c语言连接sqlserver需要进行以下 *** 作。

1、安装本机环境:这里以sql2008r2+vs2010为例。先在本机安装sql2008r2,再安装vs2010。安装完成以后可以进去我的电脑-管理-服务找到sqlserver服务是否安装成功并启动。

2、配置本机数据连接:(1)点击电脑左下角的开始-控制面板-管理工具-数据源(ODBC)。(2)双击打开,点击用户DNS菜单,点击新增,d出创建数据源对话框。(3)在对话框中选择SQLserver,点击完成,进去创建到sqlserver的新数据源对话框。(4)在名称文本框中输入数据源名称,在服务器文本框中选择服务器名,点击下一步进去。(5)点击windowsnt验证,点击下一步。(6)勾选更改默认的数据库为复选框,默认数据库为master,修改为自己创建的数据库,点击下一步,d出创建到sqlserver的新数据源。(7)默认设置,点击完成,d出odbcsqlserver安装对话框。(8)在对话框中点击测试数据源,会显示测试成功。这样,数据源创建完成。

3、创建工程:使用宇宙第一编辑器vs2010创建工程,选择vc++,即可使用。


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

原文地址: http://outofmemory.cn/bake/11434117.html

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

发表评论

登录后才能评论

评论列表(0条)

保存