我有动态创建的数据库表。 它们都具有相同的名称,但在名称的末尾有一个唯一的ID,例如myTable1,myTable2等。
我有这些ID,但问题是我的SQL应该如何在C#中使用sqlclient?
例如:
string sql = "SELECT * FROM myTable"+id;
可以工作,但仍然可以进行SQL注入
我也试过了:
string sql = "SELECT * FROM myTable@id";
command.Parameters.AddWithValue("id", id);
但由于sql读取表名为myTable @ id而不是例如myTable1
,因此无效有没有办法为表名插入参数?
答案 0 :(得分:4)
答案 1 :(得分:0)
我认为在此特定查询中使用列名可能会起作用。
string sql = "SELECT colName1, colName2 , colname ......FROM myTable"+id;