vs2010数据库操作
A. c++如何在vs2010里用odbc连接sql server2008数据库
我用滚物渗过这种方法:
先创建智能指针 _ConnectionPtr m_conPtr;
然后调用: m_conPtr->Open( _bstr_t( "provider=sqloledb.1; server=172.7.41.17\\dai; \
database=(你想打开的数据库名); uid=sa; pwd=123456") \
,_bstr_t("") , _bstr_t(""), -1);
sever = 169.254.189.226\\dai (这个是我的,你需要蚂和更改成你的)。—>你在登陆数据库的时候,登大脊陆界面有下拉列表可以选择何种用户名登陆,复制过来就好了。
连接就是这样子。
B. visual studio 2010数据库编程需要安装数据库管理系统吗
vs2010中的asp.net,是可以用来创建sql2008数据库的,因为vs2010与sql2008集成得很好。
第一个解决方案:右击工程,添加新项目,选择-》数据模板中的ado.net
entity
data
model模板,给个名字创建。新的窗口中选择generate
from
database选项---next按钮。新窗口中选择new
connection。新窗口中选择数据源data
source为:microsoft
sql
server
database
file(sqlclient)。选择数据库文件目录,或者创建数据库文件的目录---一般选择工程所在目录,然后给数据库一个名字.mdf。选择use
windows
authentication。然后选择ok,yes。……这样创建数据库呢不是很好。
一般呢这种方法用于entity
framework
数据库中表与对象映射。
第二个解决方案:用sql2008创建好数据库以后,在vs2010中用连接字符串连接接,即代码连接:用连接字符串,自己网上找吧。这种较为常见,连接字符串,初学者可以放到逻辑代码文件中,公司用的话就是放到.config文件中了。
第三种解决方案:在vs2010的视图即view菜单中选择server,在data
connection上右击,选择create
new
sql
database.这个时候要保证自己机器上得sql
服务已经开启。然后选择服务器名。给数据库名……。这种方式呢,最方便,在一个vs2010集成开发环境就可以创建数据库而且简单易行。不需要再切换到sql2008。体现了vs2010这个集成工具的强大
C. 如何在vs2010中添加mysql 5.1数据库 api方法
通过MySQL自定义的API函数进行连接
1、使用API的方式连接,需要加载mysql的头文件和lib文件。
在VS2010的附加包含目录中添加\MySQL\MySQL Server 5.1\include。在安装MySql的目录下找。 把libmysql.dll和libmysql.lib文件拷贝到所建的工程目录下。然后在头文件里包含以下内容:
//mysql所需的头文件和库文件
#include "winsock.h"
#include "mysql.h"
#pragma comment(lib,"libmySQL.lib")
2、进行编码
(1)连接mysql数据库
头文件里定义数据源指针 MYSQL m_sqlCon;
//连接MySql数据库
try
{
mysql_init(&m_sqlCon);
// localhost:服务器 root为账号密码 test为数据库名 3306为端口
if(!mysql_real_connect(&m_sqlCon, "localhost","root","root","test",3306,NULL,0))
{
AfxMessageBox(_T("数据库连接失败!"));
return FALSE;
}
return TRUE;
}
catch (...)
{
return FALSE;
}
(2)关闭数据库
mysql_close(&m_sqlCon);
(3)创建表
char* pQuery = "create table if not exists DS_Building( ID VARCHAR(10),Name VARCHAR(255),Descs VARCHAR(255),PRIMARY KEY (ID))"
if(mysql_real_query(&m_sqlCon,pQuery,(UINT)strlen(pQuery))!=0)
{
const char* pCh = mysql_error(&m_sqlCon);
return FALSE;
}
附MySQL的API接口:
mysql_affected_rows() 返回被最新的UPDATE, DELETE或INSERT查询影响的行数。
mysql_close() 关闭一个服务器连接。
mysql_connect() 连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代替。
mysql_change_user() 改变在一个打开的连接上的用户和数据库。
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_host_info() 返回一个描述连接的字符串。
mysql_get_proto_info() 返回连接使用的协议版本。
mysql_get_server_info() 返回服务器版本号。
mysql_info() 返回关于最近执行得查询的信息。
mysql_init() 获得或初始化一个MYSQL结构。
mysql_insert_id() 返回有前一个查询为一个AUTO_INCREMENT列生成的ID。
mysql_kill() 杀死一个给定的线程。
mysql_list_dbs() 返回匹配一个简单的正则表达式的数据库名。
mysql_list_fields() 返回匹配一个简单的正则表达式的列名。
mysql_list_processes() 返回当前服务器线程的一张表。
mysql_list_tables() 返回匹配一个简单的正则表达式的表名。
mysql_num_fields() 返回一个结果集合重的列的数量。
mysql_num_rows() 返回一个结果集合中的行的数量。
mysql_options() 设置对mysql_connect()的连接选项。
mysql_ping() 检查对服务器的连接是否正在工作,必要时重新连接。
mysql_query() 执行指定为一个空结尾的字符串的SQL查询。
mysql_real_connect() 连接一个MySQL服务器。
mysql_real_query() 执行指定为带计数的字符串的SQL查询。
mysql_reload() 告诉服务器重装授权表。
mysql_row_seek() 搜索在结果集合中的行,使用从mysql_row_tell()返回的值。
mysql_row_tell() 返回行光标位置。
mysql_select_db() 连接一个数据库。
mysql_shutdown() 关掉数据库服务器。
mysql_stat() 返回作为字符串的服务器状态。
mysql_store_result() 检索一个完整的结果集合给客户。
mysql_thread_id() 返回当前线程的ID。
mysql_use_result() 初始化一个一行一行地结果集合的检索。