c++ builder调用sql server的存储过程进行数据的下载和上传

小小的几行代码,在这里搞了一天。好好的一个周六过的无比的难受。代码很简单,但是主要原因是因为在用合作商的软件上传数据的时候有些框框没有勾选。

come on。。。。。。。

1、用两个控件ADOConnection、ADOStoredProc。

  1.1 用ADOStoredProc的connection关联到ADOConnection

    1.2 ADOConnection连接sql server数据库(两种方式。我在这用的代码连接的,这样比较灵活。另一种方式比简单。不会可以问我,联系方式在下面)

    1.2.1连接数据库

      

 //连接sql
        AnsiString conn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=true;User ID=用户名;Initial Catalog=数据库名;Data Source=你的IP地址";
        ADOConnection1->ConnectionString = conn;
        ADOConnection1->Connected = true;

2、存储过程数据下载,直接上代码

  

 ADOStoredProc1->Connection = ADOConnection1;
 ADOStoredProc1->ProcedureName = "储存过程名";
 ADOStoredProc1->Parameters->Refresh();

 //    参数名:@****      参数值:*****
 ADOStoredProc1->Parameters->ParamByName("@参数")->Value="参数值";

 ADOStoredProc1->Open();

 //判断返回值是否成功   这个根据你的接口来弄
 ShowMessage(ADOStoredProc1->Parameters->ParamByName("@返回值参数")->Value);

 //这里我把获取的值显示在ComboBox控件上了
 for(int j = 0; j<ADOStoredProc1->RecordCount; j++){
     ADOStoredProc1->RecNo = j+1;
     ComboBox1->Items->Add(ADOStoredProc1->FieldByName("数据库字段名")->AsString);
     }

3、完成下载

4、数据上传

  4.1连接数据库

    

//连接sql
        AnsiString conn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=true;User ID=用户名;Initial Catalog=数据库名;Data Source=你的IP地址";
        ADOConnection1->ConnectionString = conn;
        ADOConnection1->Connected = true;

5、上传数据

ADOStoredProc1->Connection = ADOConnection1;

   ADOStoredProc1->ProcedureName = "存储过程名";
   ADOStoredProc1->Parameters->Refresh();

 ADOStoredProc1->Parameters->ParamByName("@参数")->Value = 上传的数;
 ADOStoredProc1->ExecProc();

6、完活

QQ:3064349253

原文地址:https://www.cnblogs.com/alex96/p/12040317.html

时间: 2024-10-04 18:17:16

c++ builder调用sql server的存储过程进行数据的下载和上传的相关文章

(转)jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法

本文转载自:http://hedyn.iteye.com/blog/856040 在JDBC中调用SQL Server中的存储过程时出现如下异常: com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171) at com.microsof

Java调用SQL Server的存储过程详解

转载自Microsoft的官方文档 http://msdn2.microsoft.com/zh-cn/library/ms378995.aspx收录于 www.enjoyjava.net/f25 本文较长,包含了如下几部分 使用不带参数的存储过程 使用带有输入参数的存储过程 使用带有输出参数的存储过程 使用带有返回状态的存储过程 使用带有更新计数的存储过程 1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义

(转)Java调用SQL Server的存储过程详解

本文转载自:http://dev.yesky.com/128/8088128.shtml 1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: 以下是引用片段:{call procedure-name} 作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程: 以下是引用片段:CREATE PROCEDURE GetContactForma

Java调用SQL Server的存储过程详解(转)

1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: 以下是引用片段:{call procedure-name} 作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程: 以下是引用片段:CREATE PROCEDURE GetContactFormalNames  AS  BEGIN   SELECT TOP 10 Title + ' '

VS中调用SQL SERVER存储过程

 存储过程是经过编译的,永久保存在数据中的一组SQL语句,通过创建和使用存储过程可以提高程序的重用性和扩展性,为程序提供模块化的功能,还有利于对程序的维护和管理.下面就详谈一下,VB.NET如何调用SQL SERVER中的存储过程. 以上就是本人数据库中的一张表-OnDutyInfo 创建存储过程 <span style="font-size:18px;">create procedure pro_OnDutyInfo --存储过程名 @teacherID char(1

Cpp 调用sql server 存储过程时不返回output参数解决办法

Cpp 调用sql server 存储过程时不返回output参数,但是在ssms中调用的时候能正常返回,貌似数据库和应用代码是一切正常,再测试用c#调用也能正常获取output参数,在存储过程的的开始加上set nocount on,就能解决这个问题. 墙外原文件:点击打开链接

SQL Server中存储过程 比 直接运行SQL语句慢的原因

问题是存储过程的Parameter sniffing 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度. 2. 经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete时),可将此复杂操作用

SQL Server创建存储过程(转载)

什么是存储过程? q       存储过程(procedure)类似于C语言中的函数 q       用来执行管理任务或应用复杂的业务规则 q       存储过程可以带参数,也可以返回结果 q       存储过程可以包含数据操纵语句.变量.逻辑 控制语句等 存储过程的优点 (1)执行速度快. 存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译. 存储在数据库服务器,性能高. (2)允许模块化设计. 只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储

SQL Server中存储过程比直接运行SQL语句慢的原因

原文:SQL Server中存储过程比直接运行SQL语句慢的原因 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1.       存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度. 2.       经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query