程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#挪用sql2000存儲進程辦法小結

C#挪用sql2000存儲進程辦法小結

編輯:C#入門知識

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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved