C#使用SQL存儲過程完整流程


存儲過程就是固化在SQL數據庫系統內部的SQL語句,這樣做的好處是可以提高執行效率、提高數據庫的安全性、減少網絡流量。接下來就講解如何在數據庫中建立一個存儲過程。

      打開SQL2055數據庫,展開“數據庫”節點,找到你使用的數據庫(目的數據庫),展開該數據庫節點,找到“可編程性”節點並展開,就可以看到“存儲過程”了,在“存儲過程”上點擊右鍵,新建存儲過程。然后會彈出查詢分析器,在這輸入創建代碼就可以了。

    create proc myinsert -- 創建一個存儲過程,名稱為myinsert  
    --這里寫參數,如果有的話;沒有的話就空着  
    as  
    --這里寫具體語句,可以寫N個  
    go--可加可不加,go的意思是另起一頁,相當於下一個功能塊。如果下邊不寫語句,可以不加!  
    create proc myinsert  
        @username varchar(10),--注意這里的逗號,多個參數用逗號隔開  
        @password varchar(10),  
        @name varchar(10),  
        @usertype varchar(10),  
        @createpeople varchar(10)  
    as  
        insert into SystemUsers(UserName,PassWord,Name,UserType,CreatPeople)values(@username,@password,@name,@usertype,@createpeople)  
    go  
這個存儲過程可以向SystemUsers表中插入一條記錄。

     以上講的是手動建立存儲過程的方法,其實完全不必這么麻煩,直接點擊SQL2005左上角的“新建查詢”,打開查詢分析器,然后在上邊的語句中加入一句話:“use JF_Charging_System”意思就是使用某個數據庫,也就是在哪個數據庫中建立存儲過程。

例如:
    use JF_Charging_System  
    go  
    create proc myinsert  
        @username varchar(10),  
        @password varchar(10),  
        @name varchar(10),  
        @usertype varchar(10),  
        @createpeople varchar(10)  
    as  
        insert into SystemUsers(UserName,PassWord,Name,UserType,CreatPeople)values(@username,@password,@name,@usertype,@createpeople)  
    go  

下面再來講解如何在C#中調用存儲過程。廢話不過說,一段完整的代碼+注釋讓你明白一切!這段C#代碼和上邊的存儲過程是完全對應的。

            string strsql = "Data Source=localhost;Initial Catalog=######;Integrated Security=True";//數據庫鏈接字符串  
            string sql = "SelectUserName";//要調用的存儲過程名  
            SqlConnection conStr = new SqlConnection(strsql);//SQL數據庫連接對象,以數據庫鏈接字符串為參數  
            SqlCommand comStr = new SqlCommand(sql, conStr);//SQL語句執行對象,第一個參數是要執行的語句,第二個是數據庫連接對象  
            comStr.CommandType = CommandType.StoredProcedure;//因為要使用的是存儲過程,所以設置執行類型為存儲過程  
            //依次設定存儲過程的參數  
            comStr.Parameters.Add("@Param1", SqlDbType.Text).Value = "####";
            conStr.Open();//打開數據庫連接  
          //  MessageBox.Show(comStr.ExecuteNonQuery().ToString());//執行存儲過程  
            SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter(comStr);
            DataTable DT=new DataTable ();
            SqlDataAdapter1.Fill(DT);
            dataGridView1.DataSource = DT;
            conStr.Close();//關閉連接  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM