「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.11.03
XML
カテゴリ: ASP.MET


ASP.NETでOracleデータベースに新しいデータを追加するためには、Oracleのデータアクセスライブラリを使用してINSERT文を実行します。以下に、ASP.NET WebフォームおよびASP.NET MVCのサンプルコードを示します。


### 1. **必要なパッケージのインストール**




```bash

Install-Package Oracle.ManagedDataAccess

```


### 2. **ASP.NET Webフォームの例**


以下は、ASP.NET Webフォームを使用してOracleデータベースに新しいデータを追加する基本的な例です。


#### 2.1. Webフォームのコード


**Default.aspx**

```aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>


<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Oracle Insert Example</title>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <label for="txtName">名前:</label>

            <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br />

            <label for="txtAge">年齢:</label>

            <asp:TextBox ID="txtAge" runat="server"></asp:TextBox><br />

            <asp:Button ID="btnAdd" runat="server" Text="データを追加" OnClick="btnAdd_Click" />

            <asp:Label ID="lblMessage" runat="server" ForeColor="Green"></asp:Label>

        </div>

    </form>

</body>

</html>

```


**Default.aspx.cs**

```csharp

using System;

using Oracle.ManagedDataAccess.Client;


public partial class Default : System.Web.UI.Page

{

    protected void btnAdd_Click(object sender, EventArgs e)

    {

        string name = txtName.Text;

        int age;


        if (int.TryParse(txtAge.Text, out age))

        {

            string connectionString = "User Id=your_username;Password=your_password;Data Source=your_data_source";

            using (OracleConnection connection = new OracleConnection(connectionString))

            {

                connection.Open();

                string query = "INSERT INTO your_table (name, age) VALUES (:name, :age)";

                using (OracleCommand command = new OracleCommand(query, connection))

                {

                    command.Parameters.Add(new OracleParameter("name", name));

                    command.Parameters.Add(new OracleParameter("age", age));


                    int rowsAffected = command.ExecuteNonQuery();

                    lblMessage.Text = $"{rowsAffected} 行が追加されました。";

                }

            }

        }

        else

        {

            lblMessage.Text = "年齢は数値で入力してください。";

        }

    }

}

```


### 3. **ASP.NET MVCの例**


次に、ASP.NET MVCを使用した例です。


#### 3.1. コントローラのコード


**HomeController.cs**

```csharp

using System;

using System.Web.Mvc;

using Oracle.ManagedDataAccess.Client;


public class HomeController : Controller

{

    [HttpGet]

    public ActionResult Index()

    {

        return View();

    }


    [HttpPost]

    public ActionResult Index(string name, string age)

    {

        int ageValue;

        if (int.TryParse(age, out ageValue))

        {

            string connectionString = "User Id=your_username;Password=your_password;Data Source=your_data_source";

            using (OracleConnection connection = new OracleConnection(connectionString))

            {

                connection.Open();

                string query = "INSERT INTO your_table (name, age) VALUES (:name, :age)";

                using (OracleCommand command = new OracleCommand(query, connection))

                {

                    command.Parameters.Add(new OracleParameter("name", name));

                    command.Parameters.Add(new OracleParameter("age", ageValue));


                    int rowsAffected = command.ExecuteNonQuery();

                    ViewBag.Message = $"{rowsAffected} 行が追加されました。";

                }

            }

        }

        else

        {

            ViewBag.Message = "年齢は数値で入力してください。";

        }

        return View();

    }

}

```


#### 3.2. ビューのコード


**Index.cshtml**

```html

@{

    ViewBag.Title = "Oracle Insert Example";

}


<h2>データを追加</h2>

@using (Html.BeginForm())

{

    <label for="name">名前:</label>

    <input type="text" name="name" required /><br />

    <label for="age">年齢:</label>

    <input type="text" name="age" required /><br />

    <input type="submit" value="データを追加" />

}


@if (ViewBag.Message != null)

{

    <div>@ViewBag.Message</div>

}

```


### 4. **接続文字列の設定**


上記のサンプルコードでは、`your_username`、`your_password`、`your_data_source`、`your_table`をそれぞれ実際の値に置き換えてください。


- **User Id**: Oracleのユーザー名

- **Password**: Oracleのパスワード

- **Data Source**: TNS名またはデータベースの接続情報

- **your_table**: データを追加したいテーブル名(このテーブルには、`name`と`age`というカラムが必要です)。


### 5. **実行とテスト**


ASP.NETアプリケーションを実行し、フォームに名前と年齢を入力して送信することで、Oracleデータベースに新しいデータが追加されることを確認できます。エラーハンドリングやデータ検証を適切に追加して、実際のアプリケーションに対応させることをお勧めします。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.11.03 02:01:01


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: