質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.10%

データベースのデータをカレンダーに反映させるにはどうすればよいのでしょうか

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 401

score 13

前提・実現したいこと

データベースにdateカラムのデータを呼び出したときに、その日付のデータをリストボックス(カレンダー)に出力させたい。

イメージ説明

発生している問題・エラーメッセージ

リストボックス1ではなく、3/17などの名前をリストボックスにつけられるのでしょうか?
もしくは、dateカラムのデータをintに変換などをして各リストボックスに振り分けることはできるのでしょうか?

該当のソースコード

 private void button1_Click(object sender, EventArgs e)
        {    
            var date = new DateTime();

            cn.ConnectionString = cnstr;
            cn.Open();

            cmd.Connection = cn;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT * FROM [dbo] . [Table]";

            rd = cmd.ExecuteReader();
            while (rd.Read())
            {


                name = Convert.ToString(rd["名前"]);
                date = Convert.ToDateTime(rd["日付"]);


                listBox2.Items.Add(name);
                listBox3.Items.Add(date);




            }
            rd.Close();
            cn.Close();
        }

//追記させていただきました。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApp4
{
    public partial class Form1 : Form
    {
        private SqlConnection cn = new SqlConnection();
        private SqlCommand cmd = new SqlCommand();
        private SqlDataReader rd;
        private String cnstr = @"Data Source=(LocalDB)\MSSQLLocalDB;" + @"AttachDbFilename=|DataDirectory|\Schedule2.mdf;" + "Integrated Security = True; Connect Timeout = 30";
        private string name = "";
        private DateTime date = new DateTime(2000, 1, 1);
        private string task = "";

        readonly List<ListBox> listBoxs;

        public Form1()
        {
            InitializeComponent();

            listBoxs = new List<ListBox>
            {
                null,
                listBox1,
                listBox2,
                listBox3,
                listBox4,
                listBox5,
                listBox6,
                listBox7,
                listBox8,
                listBox9,
                listBox10,
                listBox11,
                listBox12,
                listBox13,
                listBox14
            };
        }

        private void button1_Click(object sender, EventArgs e)
        {

            cn.ConnectionString = cnstr;
            cn.Open();

            cmd.Connection = cn;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT * FROM [dbo] . [Table]";

            rd = cmd.ExecuteReader();
            while (rd.Read())
            {
                name = Convert.ToString(rd["名前"]);
                date = Convert.ToDateTime(rd["日付"]);
                task = Convert.ToString(rd["タスクネーム"]);

                if (name == "A")
                {
                    var listBox = listBoxs[ListBoxItems];
                    //listBox.Items.Add = task;
                }

            }
            rd.Close();
            cn.Close();
        }

        private int ListBoxItems
        {

            get
            {
                //if (date ==3,1 ) return 1;

                return 0;
            }
        }
    } 
}

試したこと

dateカラムデータを変数に代入できたので計算できればと思ったのですが計算方法がうまくいきませんでした。
リストボックスにdate形式の名前をつけることはできるのでしょうか。
よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

Microsoft Visual Studio Community 2019
Version 16.5.0
.NET Framework version 4.8.03752

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • pj7577bm60v

    2020/04/01 18:43

    違います。HTMLとJavaScriptは現在の段階で使用する予定はありません。
    現在作成しようとしているのはローカルデータベースを使用してローカルの状態で
    使用できる予定表を作成するつもりでした。

    キャンセル

  • pj7577bm60v

    2020/04/01 18:48

    自分のレベルが低くせっかく回答いただいても解決できていない状態にあるため基礎を身に着ける為の質問に変更させていただこうと思います。
    改めて質問させていただきたいのでよろしければ回答いただければ幸いです。

    キャンセル

  • Zuishin

    2020/04/01 19:40

    この質問はこのまま、わからないところを新しく質問してください。私は回答するとは限りませんが、適切な具体性を持った質問であれば誰か回答すると思います。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る