vs2008中c++ ado连接sql server数据库后如何使用带参数的sql语句

vs2008中c++ ado连接sql server数据库后如何使用带参数的sql语句,第1张

用vs2008 只会写C#的。。

C++不会啊

这是我C#的更新 *** 作

public void EditAccount(Account bankAccount)

{

StringBuilder strSql = new StringBuilder();

strSqlAppend("update BankAccount set ");

strSqlAppend("AccountName=@AccountName,");

strSqlAppend("CurrentAmount=@CurrentAmount,");

strSqlAppend("IsCanceled=@IsCanceled");

strSqlAppend(" where CardNo=@CardNo ");

SqlParameter[] parameters = {

new SqlParameter("@AccountName", SqlDbTypeNVarChar,1024),

new SqlParameter("@CurrentAmount", SqlDbTypeDecimal,9),

new SqlParameter("@IsCanceled", SqlDbTypeBit,1),

new SqlParameter("@CardNo", SqlDbTypeNVarChar,100)};

parameters[0]Value = bankAccountCname;

parameters[1]Value = bankAccountCsum;

parameters[2]Value = bankAccountCfreeze;

parameters[3]Value = bankAccountCid;

using (SqlConnection connection = new SqlConnection(connectionString))

{

using (SqlCommand cmd = new SqlCommand())

{

try

{

cmdCommandType = CommandTypeText;

connectionOpen();

cmdConnection = connection;

cmdCommandText = strSqlToString();

foreach (SqlParameter parameter in parameters)

{

cmdParametersAdd(parameter);

}

int rows = cmdExecuteNonQuery();

cmdParametersClear();

}

catch (SystemDataSqlClientSqlException e)

{

throw e;

}

}

}

}

//先可以创建一个连接数据库字符串常量或变量

格式如下

string

Sql

=

"Server

=

服务器名称;DataBase

=

数据库名;UID

=

用户名;

PWD

=

密码;

"

//然后创建一个SqlConnection的对象

并且把链接数据库的Sql

字符串变量作为参数

//这样就会调用SqlConnection类的参数为String类型的构造函数为你的Connct对象赋值

SqlConnection

Connct

=

new

SqlConnection(Sql);

然后你只需要

Connctopen();

就可以对数据库进行一些 *** 作

或者是绑定数据源

一般呢这种方法用于Entity

FrameWork

数据库中表与对象映射。

第二个解决方案:用SQL2008创建好数据库以后,在VS2010中用连接字符串连接接,即代码连接:用连接字符串,自己网上找吧。这种较为常见,连接字符串,初学者可以放到逻辑代码文件中,公司用的话就是放到config文件中了。

第三种解决方案:在VS2010的视图即view菜单中选择Server,在Data

Connection上右击,选择Create

New

SQL

database这个时候要保证自己机器上得SQL

服务已经开启。然后选择服务器名。给数据库名……。这种方式呢,最方便,在一个VS2010集成开发环境就可以创建数据库而且简单易行。不需要再切换到SQL2008。体现了VS2010这个集成工具的强大

sqlconnection

sqlconnection对象名=new

sqlconnection("data

source=服务器;uid=sql用户名;pwd=sql密码;database=数据库名")

用之前导入命名空间using

systemdatasqlclient;

sqlcommand这个类,有方法可以执行sql语句

语法结构

sqlcommand

sqlcommand对象名=new

sqlcommand(sql语句,数据库连接对象(就是sqlconnection对象名));

本地机器tnsnamesora

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = fuqiang)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

SERVICEORCL=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

服务器tnsnamesora

SERVICEORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器名称)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

VS中连接代码:

C# code

OracleConnection oracleConnection = new OracleConnection("Data Source=;User ID=system;Password=manager;Unicode=True");

这样写连接字符串,可以连接到本地orcl这个实例,没有问题。但是想连接到服务器上的orcl实例,该如何写连接字符串,其它地方都一样吧,只是Data Source要怎么写?

------回答---------

------其他回答(90分)---------

本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。

------其他回答(5分)---------

把你QQ告诉我,我连过去给你看一下。

------其他回答(5分)---------

引用 9 楼 sorry0481 的回复:

又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:

ServerVersion “((SystemDataCommonDbConnection)(oracleConnection))ServerVersion”引发了“SystemInvalidOperationException”类型的异常 string {SystemInvalidOperationException}

分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???

你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊。。。

------回答---------

------其他回答(90分)---------

本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。

------其他回答(5分)---------

把你QQ告诉我,我连过去给你看一下。

------其他回答(5分)---------

引用 9 楼 sorry0481 的回复:

又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:

ServerVersion “((SystemDataCommonDbConnection)(oracleConnection))ServerVersion”引发了“SystemInvalidOperationException”类型的异常 string {SystemInvalidOperationException}

分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???

你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊

首先确定你的VS和SQL2000已经完全安装好了,然后在VS那边的服务器管理窗口里面添加新的数据库,然后就是连接字符串的问题了,有很多种,不过一般都是直接复制数据库里面提供的那个字符串,再改一下密码就行了的如果想要确认一下自己的数据库到底有没有和VS连上的话,用数据绑定查看一下也是相当方便的随便建立一个DATAGRIDVIEW或者COMBOBOX绑定一下表看它能不能正常显示表里面的内容,如果能显示的话则表示你的VS和SQL已经完全连上了

以上就是关于vs2008中c++ ado连接sql server数据库后如何使用带参数的sql语句全部的内容,包括:vs2008中c++ ado连接sql server数据库后如何使用带参数的sql语句、vs与sql数据库链接代码、如何把vs2010和数据库连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9724954.html

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

发表评论

登录后才能评论

评论列表(0条)

保存