当前位置:首页 » 编程语言 » c连接sqlserver数据库

c连接sqlserver数据库

发布时间: 2025-04-27 06:02:56

1. c++中怎么连接sqlserver

C++连接SQL数据库第一步 系统配置
1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码。
2.需要在ODBC中进行数据源配置,数据源选\”SQL SERVER”,登录方式使用“使用输入用户登录ID和密码的SQL SERVER验证”,并填写登录名(sa)和密码,注意一点,密码不能为空,这就意味着你的sa用户必须得有密码。否则无法通过系统本身的安全策略。测试通过就完成了配置。
C++连接SQL数据库第二步 C++与SQL连接初始化
1.在你所颤清建立的C++项目中的stdafx.h头文件中引入ADO
具体代码如下
#import “c:\Program Files\Common Files\System\ado\msado15.dll”
no_namespace rename(”EOF”, “adoEOF”) rename(”BOF”, “adoBOF”)
2.定义_ConnectionPtr变量后调用Connection对象的Open方法建立与服务器的连接。
数据数穗类型_ConnectionPtr实际上是由类模板_com_ptr_t得到的一个具体的实例类。_ConnectionPtr类封装了Connection对象的Idispatch接口指针及其一些必要的操作。可以通过这个指针操纵Connection对象。薯洞卜
例如连接SQLServer数据库,代码如下:
//连接到MS SQL Server
//初始化指针
_ConnectionPtr pMyConnect = NULL;
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
return;
//初始化链接参数
_bstr_t strConnect = “Provider=SQLOLEDB;
Server=hch;
Database=mytest;
uid=sa; pwd=sa;”; //Database指你系统中的数据库
//执行连接
try
{
// Open方法连接字串必须四BSTR或者_bstr_t类型
pMyConnect->Open(strConnect, “”, “”, NULL);
}
catch(_com_error &e)
{
MessageBox(e.Description(), “警告”, MB_OK|MB_ICONINFORMATION);
}//发生链接错误

C++连接SQL数据库第三步 简单的数据连接
//定义_RecordsetPtr变量,调用它Recordset对象的Open,即可打开一个数据集
//初始化过程 以下是个实例
_RecordsetPtr pRecordset;
if (FAILED(pRecordset.CreateInstance(__uuidof(Recordset))))
{
return;
}
//执行操作
try
{
pRecordset->Open(_variant_t(”userinfo”),
_variant_t((IDispatch*)pMyConnect),
adOpenKeyset, adLockOptimistic, adCmdTable);
}
catch (_com_error &e)
{
MessageBox(”无法打开userinfo表\”, “系统提示”,
MB_OK|MB_ICONINFORMATION);
}

C++连接SQL数据库第四步 执行SQL语句
这里是关键,我认为只要你懂点SQL语句那么一切都会方便许多比用上面的方法简单,更有效率点。
首先
m_pConnection.CreateInstance(_uuidof(Connection));
//初始化Connection指针
m_pRecordset.CreateInstance(__uuidof(Recordset));
//初始化Recordset指针
CString strSql=”select * from tb_goods”;//具体执行的SQL语句
m_pRecordset=m_pConnection->Execute(_bstr_t(strSql),
NULL, adCmdText);//将查询数据导入m_pRecordset数据容器
至此 你的SQL语句已经执行完成了m_pRecordset内的数据就是你执行的结果。
取得记录:
while(!m_pRecordset->adoEOF)//遍历并读取name列的记录并输出
{
CString temp = (TCHAR *)(_bstr_t)m_pRecordset->GetFields()->GetItem
(”name”)->Value;
AfxMessageBox(temp);
pRecordset->MoveNext();
}

插入记录
//记得初始化指针再执行以下操作
CString strsql;
strsql.Format(”insert into tb_goods(no,name, price)
values(’%d’,'%s’, %d)”,m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->
Execute(_bstr_t(strsql),NULL,adCmdText);

修改记录
CString strsql;
strsql.Format(”update tb_goods set name=’%s’ ,
price=%d where no=%d “,m_strName,m_intPrice,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText);

删除记录
CString strsql;
strsql.Format(”delete from tb_goodswhere no= ‘%d’ “,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText)

2. Wincc的C脚本如何连接到远程SQLServer数据库具体代码如何

1、建立存储
CREATE PROCere[owner.]procerename[;number]

[[(]@parameter_name datatype[=default][OUTput]

[,@parameter_name datatype[=default][OUTput]]...[)]]

[WITH RECOMPILE]

AS SQL_statements

2、存储规则:

[EXECute][@return-status=]

[[[server.]database.]owner.]procerename[;number]

[[@parameter_name=]value|[@parameter_name=]@varialbe[OUTput]

[,[@parameter_name=]value|[@parameter_name=]@variable[OUTput]...]]

[WITH RECOMPILE]

3. c#怎么和sql数据库连接

1、打开Visual Studio 2008工具,点击文件菜单,选择新建下面的项目选项,如下图所示。

4. 请问如何配置ODBC连接远程的SQLServer数据库

这好像不是你数据库设置的问题,而是局域网的问题,你试试看,在控制面板>管理工具>本地安全策略,中启动你和对方的guest帐号,网络访问方式改为经典-本地访问 ,在拒绝从网络访问这台计计算机中删除所有的,拒绝做为服务器登陆中清空所有的,然后关闭windows防火墙,局域网内winXP()的访问是个经常困扰大家的不大不小的问题,上次说我不够详细,你现在可以按以下的方法试一下,如果不成功,也可照此方法来解决局域网中经常出现的莫名奇妙的错误!我也是做DBMS的,出现的很多问题,貌似数据库故障,其实不然!

一、首先启用guest来宾帐户;

二、控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户;

三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾;

四、设置共享文件夹;

五、控制面板→管理工具→本地安全策略→本地策略→安全选项里,把“网络访问:本地帐户的共享和安全模式”设为“仅来宾-本地用户以来宾的身份验证”(可选,此项设置可去除访问时要求输入密码的对话框,也可视情况设为“经典-本地用户以自己的身份验证”);

六、右击“我的电脑”→“属性”→“计算机名”,该选项卡中有没有出现你的局域网工作组名称,如“work”等。然后单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,如“work”,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。

一般经过以上步骤,基本可以解决。如果不行,再往下看:

七、检查本地连接是否被禁用,右击“本地连接”→“启用”;

八、关闭网络防火墙;

九、检查是否启用了域,是否加入了该域并检查域设置;

十、检查是否关闭了server服务;

十一、检查本地连接IP、子网掩码、网关及DNS设置是否有误;

十二、“本地连接”→属性→常规,检查是否安装了“Microsoft网络文件和打印机共享”、“Microsoft网络客户端”以及TCP/IP协议;

十三、某些局域网游戏和软件须安装NetBEUI协议。而且网上有文章说,在小型局域网中,微软在WinXP中只支持的TCP/IP协议和NWLink IPX/SPX/NetBIOS兼容协议表现不尽如人意,在小型局域网(拥有200台左右电脑的网络)中NetBEUI是占用内存最少、速度最快的一种协议。

安装方法:

①放入Windows XP安装光盘,到“ et etbeui”目录下将Netnbf.inf复制C:WindowsINF中;

②将Nbf.sys复制到C:WindowsSystem32Drivers中;

③开始→控制面板→网上邻居”→“网络连接”→“本地连接”(就是你目前使用中的局域网连接)上按右键→“属性”→“常规”→“安装”→“通讯协议”→→“添加”,此时就可以看到“NetBEUI Protocol”这一项(此项原来是没有的),选取NetBEUI之后,按确定就OK了。

十四、作为网络浏览服务器的电脑由于病毒、配置低运行慢以及死机等原因导致网络上的计算机列表得不到更新,使得某些机器有时候在网上邻居中找不到。

解决办法:最简单的办法是重启各种网络设备和电脑,或者关闭个别有上述问题的电脑上的网络浏览服务器功能,方法如下:

win2000/XP下禁用Computer Browser服务

十五、给系统打上补丁。WinXP访问网上邻居的速度较慢,这是WinXP的一个Bug,当我们打开网上邻居时,操作系统首先会从计划任务中进行查找,因此就大大影响了访问的速度,除非您已经安装了SP1补丁才不会存在这个问题。

可以手工解决这一问题。从注册表中找到“HKEY_LOCAL_MACHINE

”,这里有一个名为“{D6277990-4C6A-11CF-8D87-}”的子键,该子键指向“计划任务(Scheled Tasks)”,将它直接删除即可。

十六、先卸载网卡驱动,重启再重装;

十七、硬件问题,检查网卡、网线、集线器、路由器等,在检查之前,最好先重启一下网络设备(集线器、交换机、路由器)看能否解决;

十八、病毒(木马)原因。升级病毒库安全模式下全盘杀毒。

5. 连接SQL Server ODBC数据源是说连接不成功 在创建新的数据源 单击下一步时出错

尽管以前连过,这次仍花费了N多时间查资料,配置,现在把详细步骤贴给大家,分享之。

一,JDBC-ODBC桥的方法,这种方法最简单了。

1,新建一个数据库,为student吧,再在其中新建一张表命名为info,添加一些数据(方便观察效果),下面我们配置数据源
开始----控制面板----管理工具----数据源-----添加----选中“SQL Server”----完成
把默认的数据库改为student。点“下一步”----完成----“测试数据源”,如果提示成功,OK,数据源配置好了!代码如下:import java.sql.*;

public class q
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:student";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select * from info";
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}编译运行如图:上面的结果是我info里面的字段。OK?成功了吧?二,JDBC连接1,下载jdbc:
下载:SQL Server 2000 SP3,同样到Microsoft的网站去下载升级包,~~~~~~~~~~~~~~~~~~关键开始~~~~~~~~~~~~~~~~~~~~,下载其中的chs_sql2ksp3.exe,注意下载下来的是chs_sql2ksp3.exe文件,双击它选择安装到一个目录时是在解压,然后你还要到那个目录下双击setup.bat批处理文件才是开始安装(应该说是升级)!!!具体下载地址是:
~~~~~~~~~~~~~~~~~~~~关键结束~~~~~~~~~~~~~~~~~~~~~~~~~注:我一直是这个原因,装错补订了,我曾经装过SP3a,SP4,结果都不行!2,安装JDBC,把其安装目录下的lib下的三个文件添加到classpath中,这个网上都有很多。我的是:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;添加完成后,安装SP3补订,也就是刚才下的那个文件,可能需要重启,我给忘了。3,现在就是代码了,如下:import java.sql.*;public class L
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select * from info";
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

热点内容
脚本战舰少女 发布:2025-04-27 15:26:59 浏览:547
linux初始化mysql数据库 发布:2025-04-27 15:16:46 浏览:944
qq音乐密码能设置多少位 发布:2025-04-27 14:59:43 浏览:166
胸椎椎体压缩骨折 发布:2025-04-27 14:59:36 浏览:987
怎么配置代理解决跨域 发布:2025-04-27 14:58:46 浏览:297
tvapp缓存目录 发布:2025-04-27 14:53:43 浏览:941
mt5编译器mt4可以用吗 发布:2025-04-27 14:47:19 浏览:728
实地云服务器好不好用 发布:2025-04-27 14:30:41 浏览:507
苹果qq浏览器怎么缓存 发布:2025-04-27 14:28:58 浏览:576
卡罗拉车型建议买哪个配置 发布:2025-04-27 14:07:07 浏览:510