社区
C++ Builder
帖子详情
请教ADO UpdateBatch 问题
cyberhouse
2001-07-20 05:38:14
我用BCB5.0进行ADO编程时, UpdateBatch不起作用,请教解决方法.
...全文
95
1
打赏
收藏
请教ADO UpdateBatch 问题
我用BCB5.0进行ADO编程时, UpdateBatch不起作用,请教解决方法.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jsg
2001-07-22
打赏
举报
回复
以下是我学习《Delphi 5.x ADO/MTS/DOM+ 高级程序设计篇》(李维著)
中学习UpdataBatch实例的代码(运行通过),分析一下也许有用:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "MyDataModule.h"
#include <typeinfo.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmMain *frmMain;
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void TfrmMain::DisConnectionFunction()
{
dmBatchUpdate->ADOConnection1->Open();
dmBatchUpdate->ADODataSet1->Connection=dmBatchUpdate->ADOConnection1;
dmBatchUpdate->ADODataSet1->Open();
dmBatchUpdate->ADODataSet1->Connection=NULL;
dmBatchUpdate->ADOConnection1->Close();
}
void __fastcall TfrmMain::Button1Click(TObject *Sender)
{
dmBatchUpdate->ADODataSet1->UpdateBatch(arCurrent); //¤@±ø¤@±ø¦a§ó·s
// dmBatchUpdate->ADODataSet1->UpdateBatch(arFiltered); //¦h±ø°O¿ý¤@°_§ó·s
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Button2Click(TObject *Sender)
{
dmBatchUpdate->ADODataSet1->CancelBatch(arCurrent); //¤@±ø¤@±ø¦a©ñ±ó
// dmBatchUpdate->ADODataSet1->CancelBatch(arFiltered); //¦h±ø°O¿ý¤@°_©ñ±ó
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::faNoneClick(TObject *Sender)
{
// if(typeid(*Sender) ==typeid(TRadioButton)){
// int i=typeid(TRadioButton).Tag ;
// ShowMessage(IntToStr(i));
if((TRadioButton*)Sender==faNone)
{
if(dmBatchUpdate->ADODataSet1->LockType ==ltBatchOptimistic )
{
dmBatchUpdate->ADODataSet1->Filtered=true ;
dmBatchUpdate->ADODataSet1->FilterGroup=fgNone;
}
}
else
{
if(dmBatchUpdate->ADODataSet1->LockType ==ltBatchOptimistic )
{
dmBatchUpdate->ADODataSet1->Filtered=true ;
dmBatchUpdate->ADODataSet1->FilterGroup=fgPendingRecords;
}
}
}
//---------------------------------------------------------------------------
void TfrmMain::NotifyScroll()
{
TUpdateStatus aUS ;
aUS=dmBatchUpdate->ADODataSet1->UpdateStatus();
if(aUS==usUnmodified)
SetUpdateStatusInfo(true,false,false,false);
else
if(aUS==usModified)
SetUpdateStatusInfo(false,true,false,false);
else
if(aUS==usInserted)
SetUpdateStatusInfo(false,false,true,false);
else
SetUpdateStatusInfo(false,false,false,true);
}
//---------------------------------------------------------------------------
void TfrmMain::SetUpdateStatusInfo(Boolean ck1,Boolean ck2,Boolean ck3,Boolean ck4)
{
this->ckusUnmodified->Checked= ck1;
this->ckusmodified->Checked=ck2;
this->ckusInserted->Checked=ck3;
this->ckusDeleted->Checked=ck4;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnSaveToFileClick(TObject *Sender)
{
if(SaveDialog1->Execute())
dmBatchUpdate->ADODataSet1->SaveToFile(SaveDialog1->FileName,dfXML );
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnLoadFromFileClick(TObject *Sender)
{
if(OpenDialog1->Execute())
dmBatchUpdate->ADODataSet1->LoadFromFile(OpenDialog1->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnDisConnectionClick(TObject *Sender)
{
DisConnectionFunction();
}
//---------------------------------------------------------------------------
void TfrmMain::ConnectionFunction()
{
dmBatchUpdate->ADOConnection1->Open();
dmBatchUpdate->ADODataSet1->Connection=dmBatchUpdate->ADOConnection1;
dmBatchUpdate->ADODataSet1->Open();
}
void __fastcall TfrmMain::btnConnectionFunctionClick(TObject *Sender)
{
ConnectionFunction();
}
//---------------------------------------------------------------------------
Mybatis中使用
update
Batch
进行批量更新
主要介绍了Mybatis中使用
update
Batch
进行批量更新的相关资料,有逐条更新,sql批量更新等,具体实例代码大家参考下本
mysql 批量更新及效率对比
比较集中mysql批量更新的方式,推荐一种效率最高的更新语句写法
laravel
Batch
:在laravel中插入批处理并更新批处理
Laravel
BATCH
(散装) 在Laravel中插入和更新批处理(批量) 安装 composer require mavinoo/laravel-
batch
服务提供者 数组提供程序中的文件app.php: Mavinoo\
Batch
\
Batch
ServiceProvider::class, 别名 数组别名中的文件app.php: '
Batch
' => Mavinoo\
Batch
\
Batch
Facade::class, 示例更新1 use App \ Models \ User ; $ userInstance = new User ; $ value = [ [ 'id' => 1 , 'status' => 'active' , 'nickname' => 'Mohammad' ] , [ 'id' => 5 , 'status' => 'deactive' , 'nickname' => 'Ghanbari' ]
Delphi 用TDBNavigator组件删除数据显示自定义信息.rar
Delphi 用TDBNavigator组件删除数据显示自定义信息,实现这一功能的关键代码,参考如下: procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin if button = nbdelete then if Application.MessageBox('确定要删除此行数据吗?','提示',MB_YESNO) = ID_NO then begin
ADO
Query1.Cancel
Batch
(); end else
ADO
Query1.
Update
Batch
(); end; procedure TForm1.FormCreate(Sender: TObject); var Str : String; begin Str := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' ExtractFilePath(Application.ExeName) 'database\db1.mdb' ';Persist Security Info=False';
ADO
Connection1.ConnectionString := Str;
ADO
Connection1.Connected := True;
ADO
Query1.Active := True; end;
VB6 图片存数据库源代码
数据表.Open sql, Database,
adO
penKeyset, adLock
Batch
Optimistic Set MyImage = New
ADO
DB.Stream MyImage.Type = adTypeBinary '指定流是二进制类型 MyImage.Open '将数据获取到Stream对象中 MyImage.LoadFromFile (CommonDialog1.FileName) '将选择的图像加载到打开的MyImage中 数据表.Fields(Text2.Text) = MyImage.Read '将数据存入数据表中 数据表.
Update
Batch
数据表.Close
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章