作者这里使用的是步伐是:
Visual Studio SQL Sever
(1 对VS的操作
1.起首我们打开Visual Studio Installer,并以管理员身份运行
2.点击修改
3.先选择数据存储和处理,再在右方添加处理工具(如图设置)
最后在右下角选择修改(作者这里已经下载好了,所以右下角是关闭)
等待下载并安装完成
4.查抄工作(可选)
创建新的空项目并在第一行写入#include<sql.h>
光标选择第一行,右键,选择转到文档
如上图则以上操作成功。
(2 对SQL Sever的操作
这里我们直接使用SQL Sever Management操作,不使用Poweshell操作(有图形化窗口管那么多干嘛,直接用!)
正常环境下SQL Sever的最高权限登录名是sa(这是安装时默认的),如果在安装时更改了,请使用更改的登录名,如果出现了不正常的环境,例如:密码忘了、更改的最高权限登录名忘了等等,作者的建议是,在排除没有比较重要的数据的环境下,卸了,重新安装。当然也可以使用Windows身份验证,这个作为附加等下阐明。
1.登录
由于是初学,大概刚开始做C语言项目实践要求这类的项目(一般都是大学学盘算机的朋侪,你们的痛,我懂。)所以一般数据库只在当地进行操作,所以数据库名称选择设备名称(不知道设备名称的朋侪请看下一张图)
身份验证使用SQL Sever 身份验证
登录名输入最高权限登录名,我的默认sa
密码,可选记着密码(比如我,由于是真没什么重要数据,属于是给狗看都摇头的田地)
最后毗连
服务器名称:WIN+i打开设置
体系>体系信息>设备名称
2.搜刮以管理员身份运行ODBC数据源
3. 选择添加
4.双击打开SQL Sever
5.名称随便,形貌可以不写,服务器千万别点向下的那个箭头,复制前面的设备名称
弄完后:
不要回车!不要回车!不要回车!直接点下一页
6.选择使用用户输入登录ID和密码的 SQL Sever 验证
方框打勾
登录ID输入你们的最高权限登录名(就是默认是sa的那个,这里的root只是我创建的第二个较高权限账户而已)
密码
7.直接下一页
8.划出来的看必要,我暂时不用,没有必要的话直接点完成
9.点击测试数据源
10.测试成功是如许(我的之前测试过,所以这次很快,如果失败了,就多试几次,可能会出现如许的环境。如果一直失败,就必要搜一下解决方法了,作者没有失败过,所以不知道怎么解决)
11.点击确认
查抄是否多出来如许一行(1是作者输入的名称)
(3 完成创建数据库和表的操作
这里就不外多做介绍了,网上一搜一大堆,这里作者使用一下从前创建的数据库和表。
- create database 2024春
- go
- ues 2024春
- go
- create table test(
- 学号 varchar(20) not null primary key,
- 姓名 char(20) not null,
- 楼栋号 tinyint not null,
- 寝室号 smallint not null,
- 是否回寝 tinyint
- )
- go
复制代码 然后我们随便插入一点数据进去
- insert into test values
- ('2001','张三',10,112,0),
- ('2003','李四',10,112,1),
- ('2024','王五',10,112,1)
- go
复制代码 (4 C语言操作数据库
上面那也不是数据库操作呀,别急。先创建一份新的cpp文件:
我们必要修改VS字符集:
项目>属性
配置属性>高级>字符集合
默认的是Unicode,将它修改成使用多字节字符集,不要忘记点应用
修改好后,代码如下,表明我放在解释中:
请一定!一定!一定!看完代码及解释,单纯将代码复制过去肯定报错,必要更改的地方我已在代码中解释阐明。
- #include<stdio.h>
- #include<windows.h>
- #include<sql.h>
- #include<sqlext.h>
- #include<sqltypes.h>
- void query_all()
- {
- SQLRETURN ret;
- SQLHENV henv;
- SQLHDBC hdbc;
- SQLHSTMT hstmt;
- ret = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv); //申请环境
- ret = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
- ret = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);//申请连接数据库
- ret = SQLConnect(hdbc, (SQLCHAR*)"数据", SQL_NTS, (SQLCHAR*)"root", SQL_NTS, (SQLCHAR*)"******", SQL_NTS);
- /*这里就是ODBC配置"数据"是我起的名字,之前"1"那个不好听,我换了个名字
- "root"就是配置ODBC时所用的登录名,"******"是密码,请根据自己的情况*/
-
- if (!(ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO))
- {
- printf("error:连接失败!\n");
- }
- ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
- SQLCHAR sql1[] = "use [2024春]"; //SQL语句选择数据库,我的数据库名字是[2024春]
- SQLCHAR sql2[] = "select * from test"; //SQL语句执行最简单的查询,test是表名
- ret = SQLExecDirect(hstmt, sql1, SQL_NTS);
- ret = SQLExecDirect(hstmt, sql2, SQL_NTS);
- /*C语言操作数据库其实就是用C语言的函数,在其中嵌套SQL语句*/
- if (!(ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO))
- printf("error:调用错误\n");
- if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO)
- {
- printf("学号\t\t姓名\t楼栋号\t寝室号\t是否回寝\n");
- SQLCHAR str1[50], str2[50], str3[50], str4[50], str5[50], str6[50];
- SQLLEN len_str1, len_str2, len_str3, len_str4, len_str5, len_str6;
- while (SQLFetch(hstmt) != SQL_NO_DATA)
- {
- SQLGetData(hstmt, 1, SQL_C_CHAR, str1, 50, &len_str1); //获取第一列数据
- SQLGetData(hstmt, 2, SQL_C_CHAR, str2, 50, &len_str2);
- SQLGetData(hstmt, 3, SQL_C_CHAR, str3, 50, &len_str3);
- SQLGetData(hstmt, 4, SQL_C_CHAR, str4, 50, &len_str4);
- SQLGetData(hstmt, 5, SQL_C_CHAR, str5, 50, &len_str5);
- /*这里总共你建立表用了几列,你就用几次,比如我的表有(学号,姓名,楼栋号,寝室号,是否回寝)
- 总共5列,所以用了5次*/
- printf("%s\t%s\t%s\t%s\t%s\n", str1, str2, str3, str4, str5);
- }
- }
- SQLFreeHandle(SQL_HANDLE_DBC, hdbc);//释放连接
- SQLFreeHandle(SQL_HANDLE_ENV, henv);//释放环境
- }
- int main()
- {
- query_all();
- }
复制代码 我们之前插入的就表现出来了!你也可以自己再学习一些SQL语句,直接将上面代码中的SQL语句做替换,也就可以实现其他功能。
SQL语句可以先搜搜其他博主的文章,后续我也会写一篇关于SQL语句。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |