第一个问题 给数据库添加口令 procedure AddPassWordToTable(Table: TTable;PassWord:String); const RESTRUCTURE_TRUE = WordBool(1); var TblDesc: CRTblDesc; hDb: hDBIDb; begin { Make sure that the table is opened and is exclusive } if not Table.Active or not Table.Exclusive then raise EDatabaseError.Create('Table must be opened in exclusive ' + 'mode to add passwords'); { Initialize the table descriptor } FillChar(TblDesc, SizeOf(CRTblDesc), #0); with TblDesc do begin { Place the table name in descriptor } StrPCopy(szTblName, Table.TableName); { Place the table type in descriptor } StrCopy(szTblType, szPARADOX); { Master Password, Password } if PassWord='' then bProtected:=False else bProtected := RESTRUCTURE_TRUE; StrPCopy(szPassword, PassWord); { Set bProtected to True } end; { Get the database handle from the cursor handle } Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb))); { Close the table } Table.Close; { Add the master password to the Paradox table } Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False)); { Add the new password to the session } Session.AddPassword(PassWord); { Re-Open the table } Table.Open; end;
给数据库添加口令
procedure AddPassWordToTable(Table: TTable;PassWord:String);
const
RESTRUCTURE_TRUE = WordBool(1);
var
TblDesc: CRTblDesc;
hDb: hDBIDb;
begin
{ Make sure that the table is opened and is exclusive }
if not Table.Active or not Table.Exclusive then
raise EDatabaseError.Create('Table must be opened in exclusive ' +
'mode to add passwords');
{ Initialize the table descriptor }
FillChar(TblDesc, SizeOf(CRTblDesc), #0);
with TblDesc do begin
{ Place the table name in descriptor }
StrPCopy(szTblName, Table.TableName);
{ Place the table type in descriptor }
StrCopy(szTblType, szPARADOX);
{ Master Password, Password }
if PassWord='' then bProtected:=False
else bProtected := RESTRUCTURE_TRUE;
StrPCopy(szPassword, PassWord);
{ Set bProtected to True }
end;
{ Get the database handle from the cursor handle }
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
{ Close the table }
Table.Close; { Add the master password to the Paradox table }
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False));
{ Add the new password to the session }
Session.AddPassword(PassWord);
{ Re-Open the table }
Table.Open;
end;
2.程序中编写进行设置.
3.好象不行吧,只能查询这项
2.可以试试OLE对象控件,也可直接CreateOLEObject
3.是不是考虑新加一个DataSource,专用来存insert的新记录,程序中动态指定DBGrid的DataSource.
{
Other filters:
HTML: TQRHTMLDocumentFilter
ASCII: TQRAsciiExportFilter
CSV: TQRCommaSeparatedFilterIn Professional Version:
RTF: TQRRTFExportFilter
WMF: TQRWMFExportFilter
Excel: TQRXLSFilter
}
上面这段代码可直接从Quickrep中将数据导入EXcel.
如果要有什么格式就先在quickrep中设置好了,再执行上面的:)
{
Other filters:
HTML: TQRHTMLDocumentFilter
ASCII: TQRAsciiExportFilter
CSV: TQRCommaSeparatedFilter
In Professional Version:
RTF: TQRRTFExportFilter
WMF: TQRWMFExportFilter
Excel: TQRXLSFilter
}
*****************************************
上面的这段代码我真的不知道该怎样在程序里调用,请那为知道的朋友可以告诉我到底该怎么用的啊