|
■No89021 (tetris さん) に返信 > command.CommandText = "INSERT INTO 来館記録_T ( [会社名],[氏名])" + " VALUES ( 'Tmptext1', 'Temptext2')";
仮に、変数では無くリテラルとしての Tmptext1 を入力するのだとしても、 command.CommandText = "INSERT INTO 来館記録_T ( [会社名],[氏名]) VALUES ( 'Tmptext1', 'Temptext2')"; で良いはずです。文字列連結する意味が無いかと。
変数として埋め込むなら、C# 6.0 以降なら command.CommandText = $"INSERT INTO 来館記録_T ( [会社名],[氏名]) VALUES ( '{Tmptext1}', '{Temptext2}')"; と書けますし、あるいはそれ以前のバージョンでも command.CommandText = "INSERT INTO 来館記録_T ( [会社名],[氏名]) VALUES ( '" + Tmptext1 + "', '" + Temptext2 + "')"; のようにして、SQL を構築することはできます。
しかしこのような SQL 記述は、既に他の方が書かれているように避けるべきです。 何故なら、たとえば kaisyamei.Text = "McDonald's"; だった場合に、生成される文字列が 「〜 VALUES ( 'McDonald's', 'tetris')」になってしまい、正常な SQL と認識できなくなるなどの 問題を抱えるからです。
Replace などを使って無毒化させる方法もありますが、通常は Hongliang さんが書かれたように、 パラメータークエリを用いて INSERT / UPDATE を行います。
|