其实只有这么长:已经在SQL Server里面作了存储过程
但是关于前台的关于存储过程的定义和调用的语句我很不解,请给与解释一下好吗????????
如果关于统计的函数已经写好在SQL Server的一个存储过程
那我在前台应该怎么样调用这个存储过程呢?
另:请帮忙解释一下这一段有关统计的程序,万分感谢了!!!!!!!!!!!!!!!!!!!!!!!111
procedure TFSltCal.AddDepartJie;
var sqltxt :string;
begin if(r1.Checked)then
begin
Self.GrateStr := '1 年级';
Self.sltDbtable := '大一男生体育合格标准表';
AQ1.Close;
AQ1.SQL.Text := 'select distinct student_depart from nan_one';
AQ1.Open;
cb1.Items.Clear;
while not aq1.Eof do
begin
cb1.Items.Add(aq1.fieldbyname('student_depart').AsString);
aq1.Next;
end;
Aq1.Close;
aq1.SQL.Text := 'select distinct student_jie from nan_one';
aq1.Open;
cb2.Items.Clear;
while not aq1.Eof do
begin
cb2.Items.Add(aq1.fieldbyname('student_jie').AsString) ;
aq1.Next;
end;
end;
...................
那这一段程序是不是实现的是往选定的存储过程中写入Inout数据(执行的选择条件)呢?
比如在存储过程proc大学生体育合格标准总计评分男1中,有Select @级别=2000 后的话就
相应的存储
上面的程序与这段程序有什么关联?????请在给解释一下好马????????
(我不明白TFSltCalNa1.AddDepartJie是什么意思????AddDepartJie是什么??????)
procedure TFSltCalNa1.AddDepartJie;
var sqltxt :string;
begin if(r1.Checked)then
begin
Self.GrateStr := '1 年级';
Self.StpName := 'proc大学生体育合格标准总计评分男1'; Aq1.Close;
aq1.SQL.Text := 'select distinct student_jie from nan_one';
aq1.Open;
cb2.Items.Clear;
while not aq1.Eof do
begin
cb2.Items.Add(aq1.fieldbyname('student_jie').AsString) ;
aq1.Next;
end;
end;http://www.csdn.net/expert/topic/793/793455.xml?temp=.4732324
http://www.csdn.net/expert/topic/793/793448.xml?temp=.6726953
但是关于前台的关于存储过程的定义和调用的语句我很不解,请给与解释一下好吗????????
如果关于统计的函数已经写好在SQL Server的一个存储过程
那我在前台应该怎么样调用这个存储过程呢?
另:请帮忙解释一下这一段有关统计的程序,万分感谢了!!!!!!!!!!!!!!!!!!!!!!!111
procedure TFSltCal.AddDepartJie;
var sqltxt :string;
begin if(r1.Checked)then
begin
Self.GrateStr := '1 年级';
Self.sltDbtable := '大一男生体育合格标准表';
AQ1.Close;
AQ1.SQL.Text := 'select distinct student_depart from nan_one';
AQ1.Open;
cb1.Items.Clear;
while not aq1.Eof do
begin
cb1.Items.Add(aq1.fieldbyname('student_depart').AsString);
aq1.Next;
end;
Aq1.Close;
aq1.SQL.Text := 'select distinct student_jie from nan_one';
aq1.Open;
cb2.Items.Clear;
while not aq1.Eof do
begin
cb2.Items.Add(aq1.fieldbyname('student_jie').AsString) ;
aq1.Next;
end;
end;
...................
那这一段程序是不是实现的是往选定的存储过程中写入Inout数据(执行的选择条件)呢?
比如在存储过程proc大学生体育合格标准总计评分男1中,有Select @级别=2000 后的话就
相应的存储
上面的程序与这段程序有什么关联?????请在给解释一下好马????????
(我不明白TFSltCalNa1.AddDepartJie是什么意思????AddDepartJie是什么??????)
procedure TFSltCalNa1.AddDepartJie;
var sqltxt :string;
begin if(r1.Checked)then
begin
Self.GrateStr := '1 年级';
Self.StpName := 'proc大学生体育合格标准总计评分男1'; Aq1.Close;
aq1.SQL.Text := 'select distinct student_jie from nan_one';
aq1.Open;
cb2.Items.Clear;
while not aq1.Eof do
begin
cb2.Items.Add(aq1.fieldbyname('student_jie').AsString) ;
aq1.Next;
end;
end;http://www.csdn.net/expert/topic/793/793455.xml?temp=.4732324
http://www.csdn.net/expert/topic/793/793448.xml?temp=.6726953
已经在SQL Server里面作了存储过程
但是关于前台的关于存储过程的定义和调用的语句我很不解,请给与解释一下好吗????????
如果关于统计的函数已经写好在SQL Server的一个存储过程
那我在前台应该怎么样调用这个存储过程呢?
另:请帮忙解释一下这一段有关统计的程序,万分感谢了!!!!!!!!!!!!!!!!!!!!!!!111
procedure TFSltCal.AddDepartJie;
var sqltxt :string;
begin if(r1.Checked)then
begin
Self.GrateStr := '1 年级';
Self.sltDbtable := '大一男生体育合格标准表';
AQ1.Close;
AQ1.SQL.Text := 'select distinct student_depart from nan_one';
AQ1.Open;
cb1.Items.Clear;
while not aq1.Eof do
begin
cb1.Items.Add(aq1.fieldbyname('student_depart').AsString);
aq1.Next;
end;
Aq1.Close;
aq1.SQL.Text := 'select distinct student_jie from nan_one';
aq1.Open;
cb2.Items.Clear;
while not aq1.Eof do
begin
cb2.Items.Add(aq1.fieldbyname('student_jie').AsString) ;
aq1.Next;
end;
end;
...................
那这一段程序是不是实现的是往选定的存储过程中写入Inout数据(执行的选择条件)呢?
比如在存储过程proc大学生体育合格标准总计评分男1中,有Select @级别=2000 后的话就
相应的存储
上面的程序与这段程序有什么关联?????请在给解释一下好马????????
(我不明白TFSltCalNa1.AddDepartJie是什么意思????AddDepartJie是什么??????)
procedure TFSltCalNa1.AddDepartJie;
var sqltxt :string;
begin if(r1.Checked)then
begin
Self.GrateStr := '1 年级';
Self.StpName := 'proc大学生体育合格标准总计评分男1'; Aq1.Close;
aq1.SQL.Text := 'select distinct student_jie from nan_one';
aq1.Open;
cb2.Items.Clear;
while not aq1.Eof do
begin
cb2.Items.Add(aq1.fieldbyname('student_jie').AsString) ;
aq1.Next;
end;
end;http://www.csdn.net/expert/topic/793/793455.xml?temp=.4732324
http://www.csdn.net/expert/topic/793/793448.xml?temp=.6726953
这段程序确实没有调用存储过程,几乎毫无关系,如果有,就是Self.StpName := 'proc大学生体育合格标准总计评分男1'这里有文章,但光有这句是没有意义的,这只是把存储过程名字赋给StpName,我猜TFSltCal为自定义的一个类,StpName为类的一个属性,一定在某个地方根据StpName属性调用存储过程,建议你查找一下StpName
要调用存储过程,要么用存储过程控件,如果用Query,就要用SQL语句
sql := 'Execute 存储过程名称'
//在这里,存储过程名称为proc大学生体育合格标准总计评分男1
然后
Query.SQL.Add(sql);
Query.ExecSQL;
看看你的这些代码,根本没有Execute语句,也没有存储过程控件.ExecProc,所以并不是在这些代码里调用存储过程的,可以说这些代码几乎和存储过程无关
举个小例子吧
if(r1.Checked)then
begin
with aq1 do
begin
Close;
SQL.Clear;
SQL.Add('Execute proc大学生3 ');
SQL.Add(' '''+Trim(Edit1.Text)+''' ');
Prepared;
ExecSQL;
end;
end;