我正在寻找帮助将word文档(*.doc)转储到Text?我正在使用Delphi 2010.
如果解决方案是组件或库,则它应该是免费或开源组件或代码库.
我需要帮助理解为什么我的SQL不起作用.或者,如果我需要以不同的方式编写它以获得我需要的结果.正如标题所示,我使用的是Delphi 7,ADO组件和MS Access 2000数据库.您可以在此处查看第I部分中的表结构:
帮助Delphi 7,ADO和MS Access SQL语句
我目前用来获取基于关键字的所有知识的SQL如下:
select*from(知识K
内连接knowledge_keywords KKW on KKW.knowledgeid = K.id)
内连接关键字KW on KW.id = KKW.keywordid
where(KW.keyword ='job')AND(KW.keyword ='task' )
然而,当知识id中具有相同知识id的那两个单词中显然存在这两个单词时,这不会返回并产生结果.
但是,如果我使用OR而不是AND执行相同的SQL,我会得到我预期的两条记录
select*from(知识K
内连接knowledge_keywords KKW on KKW.knowledgeid = K.id)
内连接关键字KW on KW.id = KKW.keywordid
where(KW.keyword ='job')AND(KW.keyword ='task' )
谢谢你的帮助
我试图通过BDE在运行时连接到Interbase DB.我试图在一个无形的项目(但不是一个控制台应用程序)中这样做.别名是已知的.我从注册表中检索别名.示例:MyAlias.
//create alias params list
AParams:= TStringList.Create;
//create a session to get alias parameters
ASession:= TSession.Create(nil);
ASession.SessionName := 'MainSession';
try
ASession.GetAliasParams(tmpAlias, AParams);
finally
ASession.Free;
end;
//connect to database
dbMain:= TDatabase.Create(nil);
with dbMain do
begin
//AliasName:= 'MyAlias';
DatabaseName:= 'test';
LoginPrompt:= False;
Params.Assign(AParams);
try
Connected:=True;
if Connected then ShowMessage('Connected!') else ShowMessage('Failed to Connect!');
finally
Free;
end; //try
end;//with
//free alias params list
AParams.Free;
Run Code Online (Sandbox Code Playgroud)
无论如何,它看起来不像Session.GetParams实际获得密码.我如何获得密码?如果我知道别名,有没有办法从BDE获取所有连接信息并建立连接?如果客户端将来更改用户名和密码,我宁愿不对其进行硬编码.
我有这个SQL.我不确定它是我需要的,但它确实选择了我需要的所有记录.我现在只需要压缩它们并计算唯一日期的计数和金额.
select m.account_tag, m.cmcl_forecast_cleared, m.check_amount,
a.acct_id, a.acct_no, a.bank_id,
b.bank_id, b.name
from ap_master m
join accounts a on a.acct_id=m.account_tag
join banks b on b.bank_id=a.bank_id
where m.cmcl_bank_cleared is null
order by m.account_tag, m.cmcl_forecast_cleared
Run Code Online (Sandbox Code Playgroud)
我只想显示四列Account,Date,Count和sum
该帐户将是a.acct_no.
日期将是该帐户
的所有唯一m.cmcl_forecast_cleared日期计数将是这些唯一日期的检查(记录)
的总数(cmcl_forecast_cleared)总和将是该唯一日期的总check_amount(cmcl_forecast_cleared)
我希望这是可以理解的.我不确定我是否需要任何分组
使用Delphi 7开发我们的主要应用程序.我们正在导入数据文件.以字节为单位的文件大小超过了vcl和我的代码用来保存它的整数变量的大小......所以它变为负数并且采取空文件操作......
我们当前检查文件大小的代码(从而决定是否为空)是:
function getfilesize(vfilename: string): integer;
var
SearchRec: TSearchRec;
begin
try
result:= -1;
if FindFirst(vfilename, faAnyFile, SearchRec) = 0 then
result:= SearchRec.Size;
FindClose(SearchRec);
except
on e: exception do
raise exception.create('Error: functions\getfilesize - Unable to analyze file Attributes to determine filesize. '#13#10+e.message);
end;
Run Code Online (Sandbox Code Playgroud)
多年来,这种情况来回变化,但在过去的5年里,这种方法运作良好.
searchrec.size是一个INTEGER,所以只更改我们的返回类型是不够的.存储中还有许多其他因素,与我们的代码和我们使用的数据库字段有关.
问:确定文件大小以字节为单位的其他D7方法对我们有用,它们使用更大的数据类型?
问:你知道getFilesize在更大整数中的任何其他替换函数吗?
我得到一个ORA-00907:从下面的代码中缺少右括号
dbQuery:= TQuery.Create(nil);
dbQuery.DatabaseName:= dbMain.DatabaseName;
with dbQuery do
begin
SQL.Add('select payee_address_zip, EXTRACT(WEEKDAY FROM check_date) as DOW, ');
SQL.Add('(cmcl_bank_cleared - check_date) as DateDiff from AP_Master ');
SQL.Add('where (cmcl_bank_cleared is not null) AND ((cmcl_bank_cleared - check_date) >=:DaysParam)');
SQL.Add('order by payee_address_zip, DOW, DateDiff');
try
ParamByName('DaysParam').AsInteger:= days_param_int;
Open;
//do something else here
except on E:EDatabaseError do
begin
raise ECustomException.create('Error opening query for step 1 of computing Float Factors!');
end;//except
end; //try
end; //with
dbQuery.Free;
Run Code Online (Sandbox Code Playgroud)
有人能告诉我发生了什么事吗?我似乎无法看到我遗漏了一个括号,这个SQL对Interbase测试数据库工作得很好.但是,当它移动到客户端oracle数据库时,它崩溃,上面的错误.
我试图从我的Delphi代码使用命令行实用程序(它与dos命令行中的测试一起使用)将PDF转储到文本.
这是我的代码
if fileexists(ExtractFilePath(Application.ExeName) + 'pdftotext.exe') then
begin
ShellExecute(H,'open', 'pdftotext.exe', PWideChar(fFileName), nil, SW_SHOWNORMAL);
if fileExists(changeFileExt(fFileName, '.txt')) then
Lines.LoadFromFile(changeFileExt(fFileName, '.txt'))
else
ShowMessage('File Not found');
end;
Run Code Online (Sandbox Code Playgroud)
在代码中放置断点并单步执行时,它会使用它
if fileExists(changeFileExt(fFileName, '.txt')) then
Run Code Online (Sandbox Code Playgroud)
但是返回false,因此调用了Shellexecute,但是没有转储任何文件
我做错了什么?
delphi ×7
delphi-7 ×4
sql ×3
delphi-2010 ×2
interbase ×2
ado ×1
bde ×1
command-line ×1
ms-access ×1
ms-word ×1
oracle ×1
shellexecute ×1
winapi ×1