1. 程式人生 > >ASP.NET MVC 學習(一) ado.net 呼叫儲存過程

ASP.NET MVC 學習(一) ado.net 呼叫儲存過程

ASP.NET MVC  學習(一) ado.net 呼叫儲存過程

    見證我的菜鳥歷史: 想學一學儲存過程,自己寫了一下簡單的例子,發現了一些問題這裡記錄一下 以下是儲存過程:
create procedure [dbo].[UserAll]
 @loginname nvarchar(200),
 @password nvarchar(200),
 @issuccess int output
as
begin
print @loginname
print @password
declare @isexist int
declare  @userid  uniqueidentifier
declare  @roleid uniqueidentifier
if  exists(select 1 from Tuser where 
[email protected]
and [email protected]) begin set @issuccess=1 set @userid=(select UserId from Tuser where [email protected] and [email protected]) set @roleid=(select top 1 RoleId from UserRole where [email protected]); select * from Trole where RoleId= @roleid end else begin set @issuccess=0 end end


.net  mvc  程式碼如下:
public ActionResult Index()
        {
            ViewBag.issuccess = false;
            if (Request.Form["loginname"]==null|| Request.Form["loginname"]=="")
            {
                return View();
            }
            string loginname = Request.Form["loginname"];
            string password = Request.Form["password"];
            //儲存過程
            SqlConnection con = new SqlConnection("data source=192.168.124.93;initial catalog=PadOrder;persist security info=True;user id=sa;password=Jxasfw2017;");
            SqlCommand cmd = new SqlCommand("UserAll", con);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@loginname", loginname);//新增引數
            cmd.Parameters.AddWithValue("@password", password);//新增引數
            SqlParameter issuccess=  cmd.Parameters.AddWithValue("@issuccess", 0);//新增引數
            cmd.Parameters["@issuccess"].Direction = ParameterDirection.Output;//設定引數型別
            con.Open();
            SqlDataReader yh = cmd.ExecuteReader();
            DataReaderHelper helper = new DataReaderHelper();
            DataSet dataset= helper.ConvertDataReaderToDataSet(yh);
            con.Close();//
            if (int.Parse(issuccess.Value.ToString()) != 0)
            {
                ViewBag.issuccess = true;
                var datahelper = new DataHelper<Trole>();
                var res = datahelper.FillModel(dataset);
                ViewBag.userdata = res;
            }
            return View();
        }


在程式碼中發現   儲存過程的 output  型別的引數只有在  連線關閉以後才能獲取到值 也就是  con.Close()之後 讀取到的資料庫的一列顯示到view:
view 頁如下:
@{
    Layout = null;
}
<!DOCTYPE html>
<title>hhda</title>
<html>
<head></head>
<body>
    <div class="jumbotron">
        <h1>ASP.NET</h1>
    <form action="@Url.Action("Index","Home")" enctype="multipart/form-data" method="post">
        <div><label>登入名</label><input id="loginname" name="loginname"/></div>
        <div><label>密--碼</label><input id="password" name="password" /></div>
        <br />
        <br />
        <input type="submit" value="登陸"/>
    </form>
        @if (ViewBag.issuccess)
        {
            <div>
                <div><label>你的角色資訊如下:</label></div>
                <table>
                    @foreach (var item in ViewBag.userdata)
                    {
                        <tr>
                            <td><label>Id</label><input type="text" value="@item.Id" /></td>
                            <td><label>URL</label><input type="text" value="@item.name" /></td>
                            <td><label>SortId</label><input type="text" value="@item.context" /></td>
                            <td><label>ParentId</label><input type="text" value="@item.OrgStationID" /></td>
                            <td><label>Ischange</label><input type="text" value="@item.RoleId" /></td>
                        </tr>
                    }
                </table>
            </div>
        }
        else
        {
           <div><label style="color:red">密碼或賬號錯誤</label></div>
        }


        <table></table>
    </div>
</body>
</html>
三個表的情況:

相關推薦

ASP.NET MVC 學習() ado.net 呼叫儲存過程

ASP.NET MVC  學習(一) ado.net 呼叫儲存過程     見證我的菜鳥歷史: 想學一學儲存過程,自己寫了一下簡單的例子,發現了一些問題這裡記錄一下 以下是儲存過程: create

VB6下的ado Command呼叫儲存過程,讀取返回值

最近在給老程式(VB6+SQL2005+水晶報表)新增備份、恢復資料庫功能。真心是手動備份資料庫太勞累,且顯得不專業,呵呵。呼叫sp_addumpdevice過程時,發生這SP有返回值,度娘了一圈,很少有提出儲存過程返回值如何在ADO Command中如何引用。 瞎寫的程式

ASP.Net MVC學習

方法 title 系列 字符串類 所有 value 內部 但是 必須 MVC 設計模式將應用程序分解成3個主要部分: Model, View, Controller(模型、視圖、控制器) Model - 模型代表一系列類用來描述業務邏輯,比如業務模型以及數據訪問操作,

ASP.NET MVC 學習筆記()

很久很久沒有在部落格園寫過東西了,很多大蝦也說過展示自己最好的地方就是有一個部落格作為筆記,展示一下自己的學習和研究成果。 最近決心將公司的一款產品改用MVC的方式實現,於是乎就開始在園子裡面瘋狂的尋找各種基於MVC的框架和EF的案例。終於找到一款基於MVC+EF+Bootstrap的框架,並且決定自己動手

ASP.NET MVC 學習筆記-3.Razor語法

OS 及其 wid resources 日期 ext str oca 區分   Razor語法是一種嵌入在網頁中基於服務器的代碼的編程語法。使用Razor語法的網頁中包括兩個不同類型的內容:客戶端內容和服務器內容。客戶端內容是網頁中常用的內容,比如,HTML標記(元素)、C

ASP.NET MVC 學習筆記-2.Razor語法

包含 鏈接 完整 rdquo 復雜 per 幫助 完成後 ade 1. 表達式 表達式必須跟在“@”符號之後, 2. 代碼塊 代碼塊必須位於“@{}”中,並且每行代碼必須以“;

ASP.NET MVC 學習筆記-7.自定義配置信息(後續)

字符串 return abstract 新的 work 生成 value DC 連接字符串加密 自定義配置信息的高級應用 通過上篇博文對簡單的自定義配置信息的學習,使得更加靈活的控制系統配置信息。實際項目中,這種配置的靈活度往往無法滿足項目的靈活度和擴展性。 比如,一個

ASP.NET MVC學習之Ajax(完結)

等待 failure lba info 學習 有一個 代碼 orm 修改 網址:https://www.cnblogs.com/yaozhenfa/p/asp_net_mvc_ajax.html 一.前言 通過上面的一番學習,大家一定收獲不少。但是總歸會有一個結束的時候

ASP.NET MVC 學習(三)-- MVC中的資料夾

MVC 程式設計模型 MVC 是用於構建 web 應用程式的一種框架,使用 MVC (Model View Controller) 設計: Model(模型)表示應用程式核心(比如資料庫記錄列表) View(檢視)對資料(資料庫記錄)進行顯示 Controller(控

.Net MVC學習

第一個MVC程式,先從建立專案開始 筆者用的是VS2017,沒有aspx檢視 建好後,我們會得到這樣一個目錄,Models(模型),Views(檢視),Controllers(控制器)

ASP.NET MVC 學習: 檢視

用檢視呈現UI 檢視可以不包含任何應用邏輯或者資料庫檢索程式碼,所有的應用邏輯都可以在controller中進行處理。 檢視通過使用controller類在呼叫RenderView方法的時候提供檢視相關資料物件呈現UI: publicvoid Categories() {     List<C

Asp.net Mvc Framework (安裝並建立示例程式)

Asp.net Mvc 是微軟官方提供的Mvc模式編寫Asp.netWeb應用程式的一個框架,它由Castle的MonoRail而來.目前已經歷經數個版本 通過上面兩個網站可以獲取AspNetMVc的安裝檔案. 下載後將會獲得一個AspNetMVCPreviewX-setup.msi的安裝檔案

ASP.NET MVC學習---(九)許可權過濾機制(完結篇)

相信對許可權過濾大傢伙都不陌生 使用者要訪問一個頁面時 先對其許可權進行判斷並進行相應的處理動作 在webform中 最直接也是最原始的辦法就是 在page_load事件中所有程式碼之前 先執行一個許可權判斷的方法 至於其專業的許可權機制這裡不做討論 想要了解的同學可以自行

ASP.NET MVC 學習 --- 第六課(根據使用者名稱登入網頁) log on log off

 public ActionResult LogOn(LogOnModel model, string returnUrl)         {             try             { //ManageService 中定義了驗證使用者名稱的方法 Ver

ASP.NET MVC 學習 --- HTML5 新特性及標籤

HTML 5 通過制定如何處理所有 HTML 元素以及如何從錯誤中恢復的精確規則,HTML 5 改進了互操作性,並減少了開發成本。 HTML 5 中的新特性包括了嵌入音訊、視訊和圖形的功能,客戶端資料儲存,以及互動式文件。 HTML 5 還包含了新的元素,比如:<na

ASP.NET C#學習(環境基礎知識)

什麼是.NET? 是微軟推出的開發動態WEB應用程式的開發平臺 什麼是ASP.NET? 是.NET的一部分,通過.NET平臺來開發ASP.NET 什麼是IIS? 是微軟的WEB伺服器,開發人員可以通過

asp.net學習總結——ADO.net(對Sql Server進行操作的資料訪問類)

ADO.net物件     System.Data.SqlClient(對Sql Server進行操作的資料訪問類): 1)SqlConnection:資料庫聯結器2)SqlCommand:資料庫命名

ASP.NET MVC 學習 --- 第七課(在非正常關閉IE之後,自動清除資料庫中的登陸資訊)

使用者Logon之後,我們可以在logoff裡面寫一些方法幫助我們清理資料庫中的一些資料。 但是如果使用者是非正常Logoff,而是直接關閉IE,如何去自動的清理資料庫中的資料吶。這裡是用session_end方法  方法一: 在Web.Config裡面 <sessi

asp.net core 2.1 dotnet(五)EF.core Dbfirst 生成 檢視與呼叫儲存過程

1 檢視,可以直接在 Model中寫 檢視的模型 執行方式如找到一個,還沒有試過:     有關 .net core EF 的問題有一個地址: https://github.com/aspnet/EntityFra

.net core學習()連線mysql

        最近在研究.net core 的跨平臺,想利用.net core的跨平臺性,使用c#開發一個小型遊戲伺服器,部署在linux上,希望自己可以堅持下去!好了,說一說這次遇到的問題吧,之前在學習mysql時候都是通過MySq