C#挪用sql2000存儲進程辦法小結。本站提示廣大學習愛好者:(C#挪用sql2000存儲進程辦法小結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#挪用sql2000存儲進程辦法小結正文
本文實例總結了C#挪用sql2000存儲進程辦法,分享給年夜家供年夜家參考。詳細完成辦法以下:
調試情況:VS.NET 2005,SQL 2000,WINDOWS XP sp2。
說話:C#
1、挪用帶輸出參數的存儲進程
起首天然是在查詢剖析器裡創立一個存儲進程喽~~ 以下所示:
create proc proc_1
@uid int,
@pwd varchar(255)
as
select UserName from users where uid = @uid and PassWord = @pwd
go
接上去我們就來看下若何在VS 2005中應用C#挪用這個存儲進程。
辦法一:
SqlConnection conn = new SqlConnection("server=(local);database=sql1;uid=sa;pwd=");
conn.Open();//翻開數據庫銜接
SqlCommand cmd = new SqlCommand("exec proc_1 @uid=1,@pwd=admin", conn);//Command中寫挪用存儲進程的語句
//年夜家應當看出來了和直接在查詢剖析器中履行很相似,“exec 存儲進程名 @參數1=參數值,@參數2=參數值”
SqlDataReader sdr = cmd.ExecuteReader();//履行存儲進程
while (sdr.Read())
{
Response.Write(sdr["UserName"].ToString());//輸入查詢到的值
}
sdr.Close();
conn.Close();
辦法二:
SqlConnection conn = new SqlConnection("server=(local);database=sql1;uid=sa;pwd=");
conn.Open();//翻開數據庫銜接
SqlCommand cmd = new SqlCommand("proc_1", conn);//存儲進程名
cmd.CommandType = CommandType.StoredProcedure;//設置敕令類型為存儲進程
SqlParameter[] param = new SqlParameter[]{
new SqlParameter("uid", SqlDbType.Int, 4),
new SqlParameter("pwd", SqlDbType.VarChar,255),
};//界說參數,這些是存儲進程中要挪用的參數,也能夠經由過程直接應用cmd.AddWithValue辦法添加參數
param[0].Value = 1;//給參數賦值
param[1].Value = "admin";
cmd.Parameters.AddRange(param);//必定要記得將剛界說的參數添加到cmd的參數中,否則後面的參數就白弄了。
string sname =(string)cmd.ExecuteScalar();//假如存儲進程前往的是單個值,我們可以直接如許掏出所要的值
Response.Write(sname);
sdr.Close();
conn.Close();
2、挪用帶輸入參數的存儲進程
下面所講的只是挪用輸出參數的存儲進程,上面年夜概講一下若何挪用有輸入參數的存儲進程。
起首,我們先對之前的存儲進程修正一下,以下所示:
create proc proc_1
@uid int,
@pwd varchar(255),
@UserName varchar(255) output --這裡我們增長一個輸入變量,記得加上output
as
select @UserName=UserName from users where uid = @uid and PassWord = @pwd
go
--以下是在查詢剖析器中挪用的辦法
declare @n varchar(255) --聲明一個變量用來傳遞參數
exec proc_1 1,admin,@n output --注,要標志為output變量
print @n
上面我們看看在VS.NET 中的挪用方法:
SqlConnection conn = new SqlConnection("server=(local);database=sql1;uid=sa;pwd=");
conn.Open();
SqlCommand cmd = new SqlCommand("proc_1", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("uid", 1);
cmd.Parameters.AddWithValue("pwd", "admin");
cmd.Parameters.Add("username", SqlDbType.VarChar, 255);
cmd.Parameters["username"].Direction = ParameterDirection.Output;//設置參數為輸入參數
cmd.ExecuteNonQuery();
string sname = (string)cmd.Parameters["username"].Value;//獲得輸入參數的值
Response.Write(sname);
conn.Close();
如許,便很簡略的完成了挪用存儲進程的辦法。
願望本文所述對年夜家的C#法式設計有所贊助。