[英]How to write the Stored Procedure
我有一種情況,
書號| 書籍作者| 出版物| 版本
我在上面的字段中使用的控件,書號中的標簽,書籍作者中的組合框,出版物中的標簽和版本中的組合框。
以上是我的UI,如果我從組合框中選擇書籍作者(組合框中的值是從db檢索),則發布和版本的值應根據我從組合框中選擇的項目從db中檢索。 頁面不應該刷新。 如何為此編寫存儲過程。
看起來你真的在問錯誤的問題。 關於如何編寫select語句(通過存儲過程,或不是),這里有幾個很好的答案。
但是,從數據庫獲取數據與將數據放入UI上的相應控件幾乎沒有關系,與確保頁面不刷新無關。
如果您真的對如何為簡單的select語句編寫存儲過程感興趣,請接受@ MikaelEriksson的答案,但添加適當的SET語句以最大限度地減少將來的升級問題。 您還需要修改列名和表名以反映您的實際數據(當然)。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE GetBooksByAuthorID
@AuthorID int
AS
BEGIN
SELECT B.BookName,
B.BookID
FROM Books as B
WHERE B.AuthorID = @AuthorID
ORDER BY B.BookName
END
GO
如果您對如何將數據綁定到UI感興趣,以及如何在不刷新UI的情況下執行此操作; 那么你需要問一個關於這個的新問題。 它應該特定於您的Web框架。 一般來說,如果您想要在沒有刷新的情況下更新Web UI,您將使用某種形式的AJAX。
如果你要做的只是級聯框,你編寫一個返回適當行的SELECT
查詢。 這不是存儲過程的作用。
SELECT * FROM `books` WHERE `author_id` = [author_id]
存儲過程用於處理數據,而不是選擇它。
這是您編寫將為您獲取內容的存儲過程的方法。 我當然不知道你想要什么輸出以及你需要什么參數......
create procedure GetBooksByAuthorID
@AuthorID int
as
select B.BookName,
B.BookID
from Books as B
where B.AuthorID = @AuthorID
order by B.BookName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.