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

zhaojp0 2019-12-14

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

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

相关推荐