我正在爲我的公司將BDE轉換爲ADO。我已經運行到一個表達我無法弄清楚如何轉換到ADO德爾福2010年BDE到ADO轉換
這裏是BDE表達除了一個....這是造成我發出部分的所有ADO變化是
與Tquery.Create(零)在一開始做。有任何想法嗎?
with Tquery.Create(nil) do
begin
cmd := TStringList.Create;
cmd.Add('select top 3 csnttext from casenotesint');
cmd.Add('where csntcaseid = ''' + scasenum + ''' ');
cmd.Add('and csntclmid = ''' + sclmnumber + ssplitcode + ''' ');
cmd.Add('order by csntseqnum desc');
rs := fConnection.Execute(cmd.Text);
cmd.Free;
while not Eof do
begin
SAPrintReport1.Tab(0.5);
SAPrintReport1.Print(rs.Fields.Item('CsNtText').Value);
SAPrintReport1.NewLine;
rs.next;
end;
rs.Close;
end;
if cbxSpacer.checked then
begin
SAPrintReport1.NewLine;
SAPrintReport1.NewLine;
SAPrintReport1.NewLine;
end;
我正確地認爲BDE,ADO和Delphi 2010實際上與您的問題無關嗎?你真的只是問什麼「用Tquery.Create(零)做」的意思,對吧? – 2010-06-30 20:20:59
代碼是否正確?你正在創建一個TQuery並使用它的Eof屬性(由於with),但是你正在迭代rs。此外,我會在where子句中使用參數,希望對輸入進行檢查和消毒,或者如果您的用戶足夠熟練(除了可能每次都迫使查詢難以解析),可能會發生「有趣」的事情。 – 2010-06-30 21:14:38
由於您的問題到最後,而不是您發佈的代碼,您應該修改您的問題或刪除它,使StackOverflow更有用的地方,噪音更少。 – 2010-07-01 13:13:41