小小的几行代码, 在这里搞了一天. 好好的一个周六过的无比的难受. 代码很简单, 但是主要原因是因为在用合作商的软件上传数据的时候有些框框没有勾选.
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
来源: http://www.bubuko.com/infodetail-3331371.html