關於下拉數據窗口技術!!

feiye313 2003-09-28 09:54:45
有這樣一個表
id name

01 aa
0101 bb
010101 cc
~~
~~
作這樣一個下拉數據窗口,使得
id=01時,得到name=aa ;
id=0101時,得到name=aabb;
id=010101時,得到name=aabbcc.
表結構已經不可能改變了,數據量還很大,我現在是用函數取得NAME再賦到數據窗口中
這樣需要很久的時間,有沒有更有效率的方法!!

在線等待!急~~~~
...全文
43 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiye313 2003-09-30
  • 打赏
  • 举报
回复
小強.
我的問題已經解決了,就用數據窗口,不管怎麽說謝謝你寫這麽多東西給我,一時間沒看明白,拷貝下來十一之後再看.95分解決給你啦.

還有居然還有人也用繁體字,加5分吧
shinesky 2003-09-29
  • 打赏
  • 举报
回复
同意小強的作法﹐寫存儲過程﹐作成datawindow!
強﹗
workhand 2003-09-29
  • 打赏
  • 举报
回复
小强真是强,佩服
andyzq 2003-09-29
  • 打赏
  • 举报
回复
打错字了:-)

你的问题挺有意思的,我帮你写了一段代码,使用存储过程来做的,用的时候你把存储过程中的表名和字段名改成你的就行了.用存储过程2作为你的datawindow的数据源就可以了得到你要的数据格式了
andyzq 2003-09-29
  • 打赏
  • 举报
回复
你的问题挺有意思的,我帮你写了一段代码,使用存储过程来做的,用的时候你把存储过程中的表名和字段名改成你的就行了,用存储过程2作为你的datawindow的数据库源就可以了

存储过程1. up_code_table

CREATE PROCEDURE up_code_table @id varchar(50)
AS
declare @id_length int, @code varchar(50), @code_result varchar(50)

set @code_result = ''

if @@NESTLEVEL = 2
begin
create table ##code(id varchar(50), code varchar(50))
end

select @code = code --改成你的表名和字段名
from code_table
where id = @id

insert into ##code
values(@id, @code)

set @id_length = len(@id)
set @id_length = @id_length-2
if @id_length > 0
begin
set @id = left(@id, len(@id) - 2)
exec up_code_table @id
end
else
begin
declare my_cur cursor for
select id, code
from ##code
order by id asc
open my_cur
fetch next from my_cur into @id, @code
while @@fetch_status = 0
begin
set @code_result = @code_result + @code
fetch next from my_cur into @id, @code
end
drop table ##code
select @id, @code_result

CLOSE my_cur
DEALLOCATE my_cur
end

存储过程2 up_code_table_result

CREATE PROCEDURE up_code_table_result
as
declare @id varchar(50), @code varchar(50)

if @@NESTLEVEL = 1
begin
create table ##code_result(id varchar(50), code varchar(50))
end

declare my_cur_result cursor for
select id, code ----改成你的表名和字段名
from code_table
order by id asc
open my_cur_result
fetch next from my_cur_result into @id, @code
while @@fetch_status = 0
begin
insert into ##code_result
exec up_code_table @id
fetch next from my_cur_result into @id, @code
end

CLOSE my_cur_result
DEALLOCATE my_cur_result

select id, code
from ##code_result

drop table ##code_result
andyzq 2003-09-29
  • 打赏
  • 举报
回复
你是什么数据库?
把你的数据再多写一些出来,看看规律是什么
liujiaqiang 2003-09-28
  • 打赏
  • 举报
回复
liaolwj(风儿) 说得挺有道理的,建立一个视图。然后用这个视图建立一个子datawindow ,
视图的SQL 语句的写法与你函數的算法差不多。

liaolwj 2003-09-28
  • 打赏
  • 举报
回复
还是建个视图比较好一点
adeva 2003-09-28
  • 打赏
  • 举报
回复
新建一个表单(id,name),将你所需数据保存在其中!然后用这个新建的表做为下新数据窗口的数据源!
jdsnhan 2003-09-28
  • 打赏
  • 举报
回复
建立个视图,存储数据结构如你所要的。
jdsnhan 2003-09-28
  • 打赏
  • 举报
回复
建立个视图,存储数据结构如你所要的。
andyzq 2003-09-28
  • 打赏
  • 举报
回复
你现在需要构造出这样的数据

01 aa
0101 aabb
010101 aabbcc
01010101 aabbccdd
..............

这样的工作放到数据库端,用函数或存储过程来完成都可以
eminena 2003-09-28
  • 打赏
  • 举报
回复
请多给一些数据,因为,我还不知道你需要的内在规律!
mittee 2003-09-28
  • 打赏
  • 举报
回复
关注!!!帮你up.
feiye313 2003-09-28
  • 打赏
  • 举报
回复
我如果能構造出
01 aa
0101 aabb
010101 aabbcc
01010101 aabbccdd
..............
這親的數據,就沒有什麽問題了問題,就是怎樣作一這個視圖才能構造出這樣的數據
請具體寫出這個視圖的寫法.
等待~~~~

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧