0

これが私のコードです。TableName 変数を設定できません。例外がスローされ ます テーブル変数 "@TableName" を宣言する必要があります

public DataTable getAllDataFromTable(String TableName)
        {

            cmd.CommandText = "select * from @TableName";
            cmd.Parameters.AddWithValue("@TableName", TableName);
            da.SelectCommand = cmd;
            da.Fill(dt);
            return dt;

        }
4

1 に答える 1

0

そのような方法でパラメーターを使用することはできません。探しているものを実装する最良の方法は、string.Format() メソッドを使用して select ステートメントを作成することです。唯一の本当の欠点は、SQL インジェクションまでメソッドを開くという事実です。

public DataTable getAllDataFromTable(String TableName) {

        cmd.CommandText = string.Format("select * from {0}", TableName)";
        da.SelectCommand = cmd;
        da.Fill(dt);
        return dt;

    }

ここに同様のスレッドがあります。

SqlParameter C#のテーブル名とテーブルフィールド?

于 2012-05-17T06:26:54.290 に答える