ASP.Netのお勉強

ストアドプロシージャの実行@ASP.Net

ストアドプロシージャを実行します。

SQLServerにストアドプロシージャを作成します。
引数を元にテーブルを検索する内容です。

画面には、TextBoxとButtonを配置します。
TextBoxは、ストアドの引数です。
Buttonを押してストアドを実行します。

ボタン実行時には、SqlConnectionを作成します。
SqlCommandを作成し、コマンドの種類をStoredProcedureにします。
Parameterを設定して、実行します。
ExecuteReaderにて、SqlDataReaderを取得しています。

●ストアドプロシージャ

CREATE PROCEDURE [dbo].[TestProcedure] (@inParam varchar(10))
AS
    select * from tableName where id = @inParam


●aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ストアドプロシージャ実行</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </form>
</body>
</html>


●aspx.vb

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration.ConfigurationManager

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim dbcon As SqlConnection
        Dim dbcmd As SqlCommand
        Dim dataRead As SqlDataReader

        'SqlConnection作成
        dbcon = New SqlConnection(ConnectionStrings("DBConnectionString").ConnectionString)

        'DBオープン
        dbcon.Open()

        'コマンド作成
        dbcmd = New SqlCommand("TestProcedure", dbcon)

        'コマンドの種類をStoredProcedureに設定
        dbcmd.CommandType = CommandType.StoredProcedure

        'パラメータ作成
        dbcmd.Parameters.Add(New SqlParameter("@inParam", SqlDbType.VarChar))

        'パラメータの値をセット
        dbcmd.Parameters("@inParam").Value = Me.TextBox1.Text

        'ストアド実行
        dataRead = dbcmd.ExecuteReader()

        '結果を取り出し
        Dim str As String = ""
        While (dataread.Read())
            str += dataRead("ID")
            str += dataRead("NAME")
        End While
        MsgBox(str)

        'クローズ
        dataRead.Close()
        dbcon.Close()

    End Sub
End Class

Copyright (C) ASP.Netのお勉強. All Rights Reserved.