各位大侠,请教一个数据库的问题,先谢了

yangguo_god 2002-09-10 05:30:19
一个form上5个label先显示一个表的头5条记录,一个button按一下就显示下5条记录,我实现这个功能后,我又定义了一个删除按钮,当我点击一个label按下删除按钮,就会删除这条记录,怎么样使这个label显示的记录删除后,自动显示下一条记录,其余label显示的记录也相应发生变化
谢谢了
...全文
23 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangguo_god 2002-09-11
  • 打赏
  • 举报
回复
我是用定义书签的方法来实现分页显示的,就是getbookmark和gotobookmark;
如果删除其中一条记录,书签就必须重新定义,实在是麻烦
Hawk_sun(骑士)兄,我也想过用记录的RecNo.删除后重新载入,我想是可以的,
如果我将记录写如数组,删除后定位数组的下一条记录,我想也可以。
但我开始是用定义书签的方法实现分页显示,如果删除其中一条记录,书签的位置好象还没有变,就会有混乱,大家看看,有没有办法,删除记录后,是书签自动移动呢?
勉励前行 2002-09-10
  • 打赏
  • 举报
回复
你的記錄是以每5條為一組的,操作也是以5條一組來操作,你刪除某條記錄 後,得重新分組,這涉及你是如何實現5條一組來顯示的。這些東西是要你自己規劃的,別人真的很難幫手。下面的代碼是一種實現方法,但不知是不是你想要的。

TDataSet *DataSet ;
TLabel *Label1,*Label2,*Label3,*Label4,*Label5 ;
TLabel *Label[5]; //Label[1] = Label1 ....
int OptRecord ; //當前操作的記錄
//分組顯示(翻頁)
ViewDataInLabel()
{for(int i=0; i<5;++i)
{if(!DataSet->Eof)
{DataSet->Next;
Label[i]->Caption = DataSet->Fields->Fields[0]->AsString ;
}
else Label[i]->Caption = "" ;
}
if(Label[i] == Sender) DataSet->MoveBy(-5); //定位5條記錄中的第一條
OptRecord = 0 ;
}
//定位當前記錄
Label1Click(TObject *Sender)
{for(int i=0; i<5;++i)
{if(Label[i] == Sender && Label[i]->Caption != "" )
{ DataSet->MoveBy(i);
OptRecord = i ;
Label[i]->Color = clRed ;
}
}
if(i<5) //已經重新定位記錄
for(int j=0; j<5;++j)
if(i != j) Label[j]->Color = clBtnFace;
//定位記錄。這是一種實現,請自行完成這涉及你是如何實現5條一組
//當不足5條時你是如何做的?翻頁時又是如何定義的?  
}
//刪除當前記錄
DeleteRecord()
{DataSet->Delete();
DateSet->MoveBy(-OptRecord);
ViewDataInLabel();
DateSet->MoveBy(OptRecord);
}
Hawk_sun 2002-09-10
  • 打赏
  • 举报
回复

用DBText组件很容易啊,根本不存在删除后不能定位到下一条纪录的问题啊!
难道你使用自己的GetCurrentRecord来获得纪录,再将其放到Label上么?如果这样,每次你使Tabel的RecNo加一,再重新用GetCurrentRecord方法来重新赋值啊!这跟重新写一个DBText有什么区别?
whitelion 2002-09-10
  • 打赏
  • 举报
回复
不知道你为什么做不出来
你只要在删除事件里将五个label中的数据重新写一次就可以了
lingbin 2002-09-10
  • 打赏
  • 举报
回复
删除一条记录时,光标会自动移到下一条记录,你只要用代码把数据显示在Label上就可以了,要不然就用dbtext数据感知控件,直接设置数据源可以了。
yangguo_god 2002-09-10
  • 打赏
  • 举报
回复
我当然知道是添加代码,问题是不那么好添了?老兄,我是添不出来了
xhfjy 2002-09-10
  • 打赏
  • 举报
回复
自己删除时添加相应的处理代码就OK啦
annkie 2002-09-10
  • 打赏
  • 举报
回复
使用dbtext控件!

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧