CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

用delphi怎么实现把SQL中的存储过程显示在label的caption上呀?————某软件公司的面试题

楼主woaichenyu(小吴)2004-12-04 15:42:12 在 Delphi / 数据库相关 提问

用SQL建一数据库,然后建一存储过程(查询功能嘛),然后在delphi的form上放一个label控件,  
   
  要求是:当label的单击事件时,SQL的存储过程的查询结果便显示在label的caption上面,具体代码怎么写呀?  
   
  写出者立即给分。 问题点数:20、回复次数:23Top

1 楼woaichenyu(小吴)回复于 2004-12-04 15:42:33 得分 0

会者都来看看呀Top

2 楼fffddd(假钞换贞操)回复于 2004-12-04 15:56:48 得分 0

关注一下。和普通的查询不一样吗?Top

3 楼woaichenyu(小吴)回复于 2004-12-04 16:04:28 得分 0

我想应该还是有点区别呀  
  在delphi下面执行存储过程的代码怎么写呀  
   
  查询出来是一表格,怎么写进caption呀  
  Top

4 楼Northwindrocker(北风)回复于 2004-12-04 16:14:01 得分 2

我日这么简单的东西啊!吓我一跳我以为要把store   procedure本身代码写到label上呢  
  调用store   procedure和普通的查询基本上一样  
  store   procedure   这样写  
   
  create   procedure   p1  
   
  Top

5 楼Northwindrocker(北风)回复于 2004-12-04 16:25:00 得分 3

靠没写完按了确定  
   
  create   procedure   p1  
        @id     int     output  
  as  
        begin   transaction  
   
              select   @id   =   max(p_id)   from   table1  
        if   @@error   <>   0   rollback   transaction  
        else   commit   transaction                   //当然这里只是查询可以不要判断错误发生    
   
  然后你在delphi中用adostroedproc控件使用这个procedure  
  with   adostoredproc1   do  
  beign  
            open;//注意如果没有返回结果的是execproc  
            label1.caption   :=   fields[0].asstring;  
  end;  
  Top

6 楼Northwindrocker(北风)回复于 2004-12-04 16:27:10 得分 0

最后有点错误  
  label1.caption   :=   inttostr(parameters.paramvalus['id']);Top

7 楼zzlazio(sritsb)回复于 2004-12-04 17:03:09 得分 0

晕..  
  查询出来的应该是表格形式的了..  
  Caption显示??Top

8 楼rouqing(*冰雨&双子座奇缘*)回复于 2004-12-04 17:07:14 得分 1

得看看存储过程返回怎么样的数据了,用label显示可能只有一个值吧?  
  比如查询sum(salary),呵呵Top

9 楼rouqing(*冰雨&双子座奇缘*)回复于 2004-12-04 17:08:05 得分 1

实际上具体的要看存储过程如何Top

10 楼fatcatman()回复于 2004-12-04 17:16:06 得分 1

请问楼主是不是去金意面试过?Top

11 楼yongheng0866(恒久地平线)回复于 2004-12-04 17:34:07 得分 0

怎么和我的面试题 一模一样啊 你到哪里去面试的哦?Top

12 楼Figo1104(倾倒一片)回复于 2004-12-04 19:10:15 得分 5

在SQL查询分析器里创建存储过程  
  if   exists(select   name   from   sysobjects   where   name='Query'and   type   ='p')//如果存储过程存在先删除  
  Drop   procedure   Query  
  //创建存储过程  
  create   procedure   Query   @学号   char(4),@姓名   varchar(10)   output//姓名为输出参数  
  AS  
  select   @姓名=name   from   student   where   Sno=@sno  
  GO  
   
   
  procedure   TF_change.BitBtn1Click(Sender:   TObject);  
  begin  
  Query1.close;  
  Query1.SQL.Text:='Exec   Query_person   :@学号,:@姓名';  
  Query1.Parameters.ParamByName('@学号').Value:=Edit_id.Text;//输入学号查询  
  Query1.Open;  
  Label1.caption   :=   Query1['姓名'];    
   
  end;  
  Top

13 楼markdean(无马骑士)回复于 2004-12-04 19:55:33 得分 0

出题的人有问题。Top

14 楼woaichenyu(小吴)回复于 2004-12-04 20:03:44 得分 0

怎么上面的各位老大怎么连ADO连接组件都没有用上就做起来了昵  
  Top

15 楼woaichenyu(小吴)回复于 2004-12-05 11:54:27 得分 0

晕..  
  查询出来的应该是表格形式的了..  
  Caption显示??  
  Top

16 楼vfork(學習htm、css、js、java,然後到ajax。)回复于 2004-12-05 11:57:29 得分 1

靠,把各个字段的string   +起来然后给caption就是的啊.Top

17 楼hongke212(寒星)回复于 2004-12-05 15:03:01 得分 0

学习中...........Top

18 楼Figo1104(倾倒一片)回复于 2004-12-05 18:50:32 得分 4

晕..  
  查询出来的应该是表格形式的了..  
  Caption显示??]]  
   
  在SQL查询分析器里创建存储过程,我把代码改简单一点  
  if   exists(select   name   from   sysobjects   where   name='Query_person'and   type   ='p')//如果存储过程存在先删除  
  Drop   procedure   Query  
  //创建存储过程  
  create   procedure   Query_person   @学号   char(4)  
  AS  
  select   *from   student   where   Sno=@sno  
  GO  
   
  procedure   TF_change.BitBtn1Click(Sender:   TObject);  
  begin  
  Query1.close;  
  Query1.SQL.Text:='Exec   Query_person   :@学号,:@姓名';  
  Query1.Parameters.ParamByName('@学号').Value:=Edit_id.Text;//输入学号查询  
  Query1.Open;  
  Label1.caption   :=   Query1['姓名'];    
   
  end;  
  我比你还晕哟,caption显示的只是查出来的数据一个姓名字段而已,用DBGrid显示的是整条记录用表格显示  
  Top

19 楼windy_224(边Cheng浪子)回复于 2004-12-05 19:29:43 得分 0

呵呵!  
  只是显示一个值吗???Top

20 楼anbangs(大邦)回复于 2004-12-06 00:14:23 得分 0

有搞头吗?Top

21 楼pdbird(老巢)回复于 2004-12-06 10:25:32 得分 2

用SQL建一数据库,然后建一存储过程(查询功能嘛),然后在delphi的form上放一个label控件,  
   
  要求是:当label的单击事件时,SQL的存储过程的查询结果便显示在label的caption上面,具体代码怎么写呀?  
   
  答:要分情况进行分析:  
  1、如果查询不是一条记录,那应当就是用游标进行返回,这时就应当先得到总条数,然后写一个循环,一条条的记录写到label上面。  
  2、如果是查询总数什么的,只返回一条记录,就可以直接赋给label.caption了。Top

22 楼pengxuan(网虫先生)回复于 2004-12-06 11:17:07 得分 0

楼上正解。循环赋值加回车换行不就可以显示得一样了嘛。Top

23 楼woaichenyu(小吴)回复于 2004-12-06 12:05:31 得分 0

:   pengxuan(网虫先生)   \   pdbird(老巢)    
  两位高手可否把源代码贴出来看一下呀  
  Top

相关问题

  • DELPHI中关于调用SQL SERVER存储过程???(高分相送)
  • 请问DELPHI,SQL Server 中如何使用存储过程?
  • Delphi调用Sql server存储过程的问题--------急!!!!!!!!!!
  • 在Delphi中,用SQL脚本更新存储过程?
  • 在SQl中写的存储过程,在delphi 中怎么调用
  • SQL server的存储过程
  • SQL Server存储过程
  • sql存储过程问题
  • Oracle的存储过程与MS SQL Server的存储过程
  • Oracle的存储过程如何转成SQL Server存储过程

关键词

  • 存储过程
  • 查询
  • 学号
  • 表格
  • 代码
  • sql
  • caption
  • 面试
  • 显示
  • label

得分解答快速导航

  • 帖主:woaichenyu
  • Northwindrocker
  • Northwindrocker
  • rouqing
  • rouqing
  • fatcatman
  • Figo1104
  • vfork
  • Figo1104
  • pdbird

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo