|
그리드를 이용하여 다음과 같이 했습니다......
dbexpress를 사용하여 dbGrid를 이용하여 data를 뿌렸는데요...
여러 row중에 update되거나 insert되는 넘들을 찾아서
update를 해주고 싶습니다....
/*
if ( ClientDataSet1->State == dsEdit || ClientDataSet1->State == dsInsert )
{
ClientDataSet1->Post();
}
ClientDataSet1->ApplyUpdates(-1);
*/
이렇게 할 경우 암시적인 CUD인 경우로서 dataSEt이 알아서 update해준다는 건 이해가 됩니다..
하지만 그렇지 않을 경우 즉 조회는 dataSet으로 해왔지만...
CUD는 SQLQuery를 사용하고 싶습니다....
그러면....
//1. for 문을 record갯수만큼 돌린다.
//2. update나 insert된 row를 찾는다...
//3. 그넘들을 insert하거나 update한다...
라는 결론이 나오는데...
<<transaction 시작>>
for ( int i = 0 ; i < ClientDataSet2->RecNo ; i ++)
{
if (update되거나 insert됬느냐?)
{
db에 insert.......
}
}
<<commit or rollback...>>
이런 형태가 될텐데....음....
코딩(update되거나 insert됬느냐?)을 어떻게 해야 하는지 고수분들의 좋은 의견 부탁드립니다...
두번째 질문은....여기를 둘러보다가...문뜩...
고수님들이..DBExpress는 사용을 많이 안하는듯하신데...
즉, ADO나 BDE를 사용을 많이 사용하는데...혹시 dBExpress가 안좋은 점이라고 있는건지요??
|