我有一種情況,如何寫入存儲過程
書號|書籍作者|出版物|版本
控制我在上述字段中使用的控件,書號中的標籤,書籍作者中的組合框,出版物中的標籤和版本中的組合框中的標籤。
以上是我的UI,如果我從組合框中選擇書籍作者(組合框中的值正在從數據庫中檢索),發佈和版本的值應根據從我從組合框。該頁面不應刷新。如何爲此編寫存儲過程。
我有一種情況,如何寫入存儲過程
書號|書籍作者|出版物|版本
控制我在上述字段中使用的控件,書號中的標籤,書籍作者中的組合框,出版物中的標籤和版本中的組合框中的標籤。
以上是我的UI,如果我從組合框中選擇書籍作者(組合框中的值正在從數據庫中檢索),發佈和版本的值應根據從我從組合框。該頁面不應刷新。如何爲此編寫存儲過程。
看起來你真的在問錯誤的問題。關於如何編寫select語句(通過存儲過程,或不),這裏有幾個很好的答案。
但是,從數據庫獲取數據與將數據放入用戶界面的相應控件無關,並且與確保頁面不刷新無關。
如果你真的對如何編寫一個簡單的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;那麼你需要提出一個新的問題。它應該是特定於您的Web框架的。一般來說,如果你想不刷新網頁界面更新,你將使用某種形式的AJAX。
如果您要做的只是級聯盒子,您可以編寫一個返回相應行的SELECT
查詢。這不是存儲過程的功能。
SELECT * FROM `books` WHERE `author_id` = [author_id]
存儲過程用於處理數據,而不是選擇它。
好的,但我想要選擇值取決於我在組合框中選擇的項目,我不想像這樣選擇像「select * from」這樣的所有值。 –
「存儲過程用於處理數據,而不是選擇它。」那麼......也許在你的世界裏就是這樣。我來自哪裏是一個完全不同的問題。根本不允許客戶端添加任何鉤子查詢。所有查詢**都有**要在SP中完成。 –
@MikaelEriksson:那我怎麼能做到這一點?你能告訴我嗎? –
這是你如何寫一個存儲過程,會爲你取東西。我當然不知道你想要什麼輸出和你需要什麼參數...
create procedure GetBooksByAuthorID
@AuthorID int
as
select B.BookName,
B.BookID
from Books as B
where B.AuthorID = @AuthorID
order by B.BookName
@Scorpion:我只是試過選擇查詢,但它不工作。 –