RT
解决方案 »
- 中国象棋如何判断将死
- 发分了:怎样将修改系统时间显示?例如“下午 01:12:23”修改后显示为“13:12:23”
- 如何让IMAGE图片的大小跟随FORM的大小变化
- 日期显示不正常!37月、mm月。
- 在delphi中如何动态改变sql server数据库的表结构
- 关于组件设计时的图片问题 (送分50)
- 谁能搞到这个软件的源码?或用DELPHI写段实现其主要功能的代码...................!
- ▲▲▲谁有XP风格的控件,如ComboBox,Richedit,eidt等▲▲▲
- S Q L语句
- 关于热键!(急啊)
- Delphi中有没有On Error Resume Next语句?
- Delphi 5开发人员指南 配书的源码哪儿有下?
AddMasterPassword(Table1, 'MyNewPassword') procedure AddMasterPassword(Table: TTable; pswd: string);
const
RESTRUCTURE_TRUE = WordBool(1); var
TblDesc: CRTblDesc;
hDb: hDBIDb; begin
{表打开?表是独占吗?}
if (Table.Active = False) or (Table.Exclusive = False) then
raise EDatabaseError.Create('数据表必须在独占方式才可以添加口令'); {初始化表描述区 }
FillChar(TblDesc, SizeOf(CRTblDesc), 0); with TblDesc do
begin
{ 把表名放到描述区 }
StrPCopy(szTblName, Table.TableName);
{ 把表类型放到描述区 }
StrCopy(szTblType, szPARADOX); StrPCopy(szPassword, pswd); { 设置BPROTECTED为TRUE }
bProtected := RESTRUCTURE_TRUE;
end; { 从当前的HANDLE里得到DATABASE的HANDLE }
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
{ 关闭表 }
Table.Close;
{ 添加主口令到PARADOX表里}
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, FALSE));
{添加一个新口令到SESSION}
Session.AddPassword(pswd);
{重新打开表 }
Table.Open;
end;