各位高手,帮我看看这三个小问题!!!

lsh22 2003-12-12 11:06:29
1。treeview里面怎么没有找到一个隐藏某个Node的属性呢???而且我在他的selectedindexchanged里面写:label1.text="ss",这样的语句好象没有被执行?
2。关于存储过程的:
------------------------------------------------
-- GetAddressByCustomerId
------------------------------------------------
CREATE PROCEDURE GetAddressByCustomerId
@CustomerId INT,
@PKId INT = NULL OUTPUT,
@Address NVARCHAR(255) = NULL OUTPUT,
@Country NVARCHAR(40) = NULL OUTPUT,
@PhoneNumber NVARCHAR(30) = NULL OUTPUT,
@Fax NVARCHAR(30) = NULL OUTPUT
AS
SET NOCOUNT ON

SELECT @PKId = PKId,
@Address = Address,
@Country = Country,
@PhoneNumber = PhoneNumber,
@Fax = Fax
FROM Addresses
WHERE CustomerId = @CustomerId

RETURN 0
------------------------------------------------
-- duplicate index on Addresses (CustomerId)
------------------------------------------------

GO

这个存储过程根据@CustomerId,返回几个输出参数,请看下面的这个存储过程:


--------------------------------------------------
-- GetCustomerById
--------------------------------------------------
CREATE PROCEDURE GetCustomerById
@PKId INT = NULL
AS
SET NOCOUNT ON

SELECT c.PKId,
c.Email,
c.Password,
c.Name,
a.Address,
a.Country,
a.PhoneNumber,
a.Fax
FROM Customers c,
Addresses a
WHERE c.PKId = @PKId
AND a.CustomerId = @PKId

RETURN 0
--------------------------------------------------
-- unique index on Customers (PKId)
-- duplicate index on Addresses (CustomerId)
--------------------------------------------------

GO
这个存储过程没有输出参数,那我的程序里面怎么得到他查询得到的值,如果,我的返回是多条记录,又怎么办呢?

3。下面这个存储过程:

------------------------------------------------
-- InsertAddress
------------------------------------------------
CREATE PROCEDURE InsertAddress
@Address NVARCHAR(255) = NULL,
@Country NVARCHAR(40) = NULL,
@PhoneNumber NVARCHAR(30) = NULL,
@Fax NVARCHAR(30) = NULL,
@CustomerId NVARCHAR(255) = NULL,
@PKId INT = NULL OUTPUT
AS
SET NOCOUNT ON

-- Insert the new address and then return the
-- new identifier (PKId)

INSERT Addresses (Address,
Country,
PhoneNumber,
Fax,
CustomerId)

SELECT @Address,
@Country,
@PhoneNumber,
@Fax,
@CustomerId

-- return ID for new Address record
SELECT @PKId = @@IDENTITY

RETURN 0
------------------------------------------------

GO

我在书上看到INSERT Addresses (Address,
Country,
PhoneNumber,
Fax,
CustomerId)
在这里,应该是values(@Adress,....)这样的,形式,这个和上面的插入,有什么区别,上面是什么意思呀??
...全文
49 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsh22 2003-12-12
  • 打赏
  • 举报
回复
谢谢。。

1第一问题我找到原因了。。
我的autopack那个属性没有设置,但是效果还是不好,我想实现,根据用户点的Node,得到他的nodedata,然后根据这个data得到一个count,如果count=0的话,做个提示,且不让右边真跳转,否则右边的真才能跳转。

3谁能给出第三个存储过程的解释呀
jupiterII 2003-12-12
  • 打赏
  • 举报
回复
2,2个的区别是,1个是执行后取1个个的OUTPUT参数,1个是执行将返回的数据FILL数据集。
3,这个写法不大好,虽然效果一样,不过很诡异,- -
liuzhonghe 2003-12-12
  • 打赏
  • 举报
回复
1第一问题我找到原因了。。
我的autopack那个属性没有设置,但是效果还是不好,我想实现,根据用户点的Node,得到他的nodedata,然后根据这个data得到一个count,如果count=0的话,做个提示,且不让右边真跳转,否则右边的真才能跳转。
/////////////////////////
你这种要求完全可不用返回服务器端在客户端用脚本就能解决。
关于treeview元素的脚本用法看:
ms-help://MS.VSCC/MS.MSDNVS.2052/WebControls/workshop/author/behaviors/library/treeview/treeview.htm
shang515 2003-12-12
  • 打赏
  • 举报
回复
1.使用下面代码可以得到选择发生改变时的结点
string[] index = e.NewNode.Split(new char[]{'.'});
TreeNode node = tree.Nodes[int.Parse(index[0])];
for(int i=1;i<index.Length;i++)
node=node.Nodes[int.Parse(index[i])];

2.执行存储过程和执行Sql语句差不多,只要存储过程有输出结果,
你就可以像取select * from table一样取其结果

3.第三个存储过程不对……
lsh22 2003-12-12
  • 打赏
  • 举报
回复
up
lsh22 2003-12-12
  • 打赏
  • 举报
回复
up一下

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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