[导入]使用SqlCommand对象执行存储过程
表tbClass存放論壇分類
| 字段名 | 字段類型 | 允許空 | 說明 |
| ClassID | uniqueidentifier | 否 | GUID主鍵,默認值newid() |
| ClassName | Varchar(50) | 否 | 分類名 |
表tbBoard存放論壇分類中的版塊
| 字段名 | 字段類型 | 允許空 | 說明 |
| BoardID | uniqueidentifier | 否 | GUID主鍵,默認值newid() |
| BoardName | Varchar(50) | 否 | 版塊名 |
| BoardClassID | uniqueidentifier | 否 | 版塊所屬分類的ID |
存儲過程spCreateBoard:
CREATE PROCEDURE spCreateBoard
(
?????? @ClassName varchar(50), ???//輸入參數
?????? @BoardName varchar(50), ??//輸入參數
?????? @ClassID varchar(50) output ?//輸出參數
)
AS
declare @BoardCount int;
set @ClassID=(select ClassID from tbClass where ClassName = @ClassName);
insert into tbBoard(BoardName,BoardClassID) values (@BoardName,@ClassID);
set @BoardCount = (select count(*) from tbBoard);
return @BoardCount;
GO
界面TextBox1和TextBox2:
按鈕事件代碼:
string?strCon?=?"server=.;database=Forum;uid=sa;pwd=ok";
????????using?(SqlConnection?con?=?new?SqlConnection(strCon))
????????{
????????????con.Open();
????????????using?(SqlCommand?cmd?=?new?SqlCommand("spCreateBoard",?con))
????????????{
????????????????cmd.CommandType?=?CommandType.StoredProcedure;
????????????????cmd.Parameters.Add("@ClassName",?SqlDbType.VarChar,?50);
????????????????cmd.Parameters["@ClassName"].Value?=?TextBox1.Text;
????????????????//表示其為輸入參數
????????????????cmd.Parameters["@ClassName"].Direction?=?ParameterDirection.Input;
????????????????cmd.Parameters.Add("@BoardName",?SqlDbType.VarChar,?50);
????????????????cmd.Parameters["@BoardName"].Value?=?TextBox2.Text;
????????????????//表示其為輸入參數
????????????????cmd.Parameters["@BoardName"].Direction?=?ParameterDirection.Input;
????????????????cmd.Parameters.Add("@ClassID",?SqlDbType.VarChar,?50);
????????????????//表示其為輸出參數
????????????????cmd.Parameters["@ClassID"].Direction?=?ParameterDirection.Output;
????????????????cmd.Parameters.Add("@BoardCount",?SqlDbType.Int);
????????????????//表示其為用戶自定義函數
????????????????cmd.Parameters["@BoardCount"].Direction?=?ParameterDirection.ReturnValue;
????????????????cmd.ExecuteNonQuery();
????????????????foreach(SqlParameter?paramter?in?cmd.Parameters)
????????????????{
????????????????????Response.Write(string.Format("參數名{0},參數方向{1},參數值{2}<br>",?paramter.ParameterName,?paramter.Direction,?paramter.Value));
????????????????}
????????????}
????????}
結果:
海洋 2007-12-27 23:05 發表評論[小組]??[博問]??[閃存]
文章來源:http://www.cnblogs.com/chensubo/archive/2007/12/27/1017598.html
轉載于:https://www.cnblogs.com/HappyQQ/articles/1017669.html
總結
以上是生活随笔為你收集整理的[导入]使用SqlCommand对象执行存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows蓝屏分析
- 下一篇: JUC总览,来自汪文君整理