を使用しOleDbCommand
ます。SQL パラメータを追加して、SQL インジェクションからクエリを安全に保つことができますが、これを節内で行う方法はありますFROM
か。以下を参照してください。
これは機能します
query = "Select * From Company Where @param = 1";
OleDbCommand Command = new OleDbCommand(query, sqlConnStr);
DataTable Table = new DataTable();
DataSet dataSet = new DataSet();
Table = null;
//Add Parameters
Command.Parameters.AddWithValue("param", "ID");
Command.ExecuteNonQuery();
adapter.SelectCommand = Command;
adapter.Fill(dataSet);
Table = dataSet.Tables[0];
id = 1 の素晴らしい行を含む素敵なテーブルを返します
しかし
私はこのようなものを探しています。FROM句に注意してください
query = "Select * From @tableName Where @param = 1";
OleDbCommand Command = new OleDbCommand(query, sqlConnStr);
DataTable Table = new DataTable();
DataSet dataSet = new DataSet();
Table = null;
//Add Parameters
Command.Parameters.AddWithValue("param", "ID");
Command.Parameters.AddWithValue("tableName", "Company");
Command.ExecuteNonQuery();
adapter.SelectCommand = Command;
adapter.Fill(dataSet);
Table = dataSet.Tables[0];
DBMSは戻り続けます"Error in From clause"
PS すべてのスペルが正しい - 私は三重にチェックした
すべての皆様へ - ありがとうございます。Dynamic SQL
One BITは好きじゃない