QA@IT
«回答へ戻る

回答を投稿

定数にしたいのであれば次のような実装は可能です。
Visual Studioのバージョンによってはサンプルの記述は
出来ないのでString.Formatに置き換えて考えて下さい。

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        private const string COL1 = "ID";
        private const string COL2 = "NAME";

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var dbname = new DBName2();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = $"INSERT INTO Person ({COL1}, {COL2}) values (@Col1, @Col2)";
            cmd.CommandText = $"INSERT INTO Person ({DBName.COL1}, {DBName.COL2}) values (@Col1, @Col2)";
            cmd.CommandText = $"INSERT INTO Person ({dbname.COL1}, {dbname.COL2}) values (@Col1, @Col2)";
            cmd.Parameters.Add(new SqlParameter("@Col1", "0000"));
            cmd.Parameters.Add(new SqlParameter("@Col2", "山田太郎"));
        }
    }

    public static class DBName
    {
        public const string COL1 = "ID";
        public const string COL2 = "NAME";
    }

    public class DBName2
    {
        public string COL1 { get; set; } = "ID";
        public string COL2 { get; set; } = "NAME";
    }

}
定数にしたいのであれば次のような実装は可能です。
Visual Studioのバージョンによってはサンプルの記述は
出来ないのでString.Formatに置き換えて考えて下さい。

```
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        private const string COL1 = "ID";
        private const string COL2 = "NAME";

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var dbname = new DBName2();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = $"INSERT INTO Person ({COL1}, {COL2}) values (@Col1, @Col2)";
            cmd.CommandText = $"INSERT INTO Person ({DBName.COL1}, {DBName.COL2}) values (@Col1, @Col2)";
            cmd.CommandText = $"INSERT INTO Person ({dbname.COL1}, {dbname.COL2}) values (@Col1, @Col2)";
            cmd.Parameters.Add(new SqlParameter("@Col1", "0000"));
            cmd.Parameters.Add(new SqlParameter("@Col2", "山田太郎"));
        }
    }

    public static class DBName
    {
        public const string COL1 = "ID";
        public const string COL2 = "NAME";
    }

    public class DBName2
    {
        public string COL1 { get; set; } = "ID";
        public string COL2 { get; set; } = "NAME";
    }

}
```