0

動的に作成されるデータベース テーブルがあります。これらはすべて同じ名前ですが、myTable1、myTable2 などのように名前の末尾に一意の ID が付いています。

私はこれらの ID を持っていますが、問題は、sqlclient を使用して C# で SQL をどのように表示するかです。

例えば:

string sql = "SELECT * FROM myTable"+id;

機能しますが、SQL インジェクションに対してまだオープンです

私も試しました:

string sql = "SELECT * FROM myTable@id";
command.Parameters.AddWithValue("id", id);

ただし、SQL はテーブル名を myTable1 ではなく myTable@id として読み取るため、機能しません。

テーブル名にパラメータを挿入する方法はありますか?

4

2 に答える 2

4

通常の SQL では、フィールド名またはテーブル名にパラメーターを含めることはできません。値のみにパラメーターを含めることができます。

Dynamic SQL代わりにご覧ください。

于 2013-11-13T09:47:50.700 に答える