とのトラブル持つ:次のように私は、データベース内のテーブルを変更しようとしていますSQLとC#
using (SqlCeCommand com = new SqlCeCommand("INSERT INTO RamResults(Result, Date) VALUES(@num, @date)", con))
{
com.Parameters.AddWithValue("@num", num);
com.Parameters.AddWithValue("@hostname2", hostname2);
com.Parameters.AddWithValue("@date", Form1.date);
com.ExecuteNonQuery();
}
テーブル名は、変数の接頭辞(hostname2はを)持っていますがを。だから、私は次のことをやろうとしました:
("INSERT INTO @hostname2 + RamResults(Result, Date) VALUES(@num, @date)", con))
しかし、誰もこれを解決するためのアイデアはありますか?
エラーメッセージ:
クエリを解析エラーが発生しました。 [トークン行番号= 1、トークン 行オフセット= 13、トークンエラー中= @ホスト名2]
テーブル名にSQLパラメータ(つまり、 '@')を使用することはできません。そして、私は同じことをするために文字列連結を提案するつもりはありません。 – Yuck
残念ながら、それは実際に唯一の答えであることは示唆されませんが。しかし私はYuckに同意します - 問題は別の角度から解決されるべきです。たとえば、なぜ動的テーブル名プレフィックスが必要ですか? –