请高手来帮小弟一把!(50分)

  • 主题发起人 美元局势
  • 开始时间

美元局势

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么我做了个查询系统,老是通不过,一点提交按钮就没有反应,就死机,就要重起?
代码如下:
function get_name:string;
var str_name,str_temp:string;
begin
str_name:='sname='+''''+form2.Edit1.Text+'''';
if form2.edit1.Text=''then
str_temp:=''
else
str_name:=str_name;
result:=str_name;
end;
function get_name_sex:string;
var str_sex,str_temp:string;
begin
str_sex:='sex='+''''+form2.ComboBox1.Text+'''';
if form2.ComboBox1.Text=''then
str_temp:=get_name
else
str_temp:=str_sex+'and'+get_name;
result:=str_temp;
end;
function get_name_sex_term:string;
var str_term,str_temp:string;
begin
str_term:='term='+''''+form2.ComboBox4.Text+'''';
if form2.ComboBox4.Text=''then
str_temp:=get_name_sex
else
str_temp:=str_term+'and'+get_name_sex_term;
result:=str_temp;
end;
function get_all:string;
var str_class,str_temp:string;
begin
str_class:='class='+''''+form2.Edit2.Text+'''';
if form2.Edit2.Text=''then
str_temp:=get_name_sex_term
else
str_temp:=str_class+'and'+get_name_sex_term;
result:=str_temp;
end;
procedure TForm2.SpeedButton8Click(Sender: TObject);
var str:string;
begin
if get_all=''then
str:=''
else
str:='where'+get_all;
try
with query1 do
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select*from chengji');
query1.Open;
finally
edit1.SetFocus;
end;
end;
另外,为什么我每次运行时,都要求输入数据库密码,能不能想法屏蔽掉?
 
估计是你的SQL语句有问题,你可以试试每次查询前先把sql语句列出来看看语法有没错误。
还有看不出你上面的sql语句构造与查旬有何联系[query1.SQL.Add('select*from chengji');]

[另外,为什么我每次运行时,都要求输入数据库密码,能不能想法屏蔽掉?]
把LoginPrompt设为false
 
这个问题是不是很菜呀,为什么这么多人看就不回呢?
 
function get_name_sex_term:string;
var str_term,str_temp:string;
begin
str_term:='term='+''''+form2.ComboBox4.Text+'''';
if form2.ComboBox4.Text=''then
str_temp:=get_name_sex
else
str_temp:=str_term+'and'+get_name_sex_term;
//这里是递归调用,如果form2.ComboBox4.Text=''条件不成立,好像就是死循环
//问题应该是出在这个地方,跟查询数据库好像没有关系
result:=str_temp;
end;
 
顶部