mysql 表 作为参数_MySQL表名称作为参数

我正在尝试进行设置,以便将表名作为参数传递给命令文本,但是我无法使其正常工作。我四处张望,发现了这样的问题:使用C#进行MySQL的参数化查询,但是我没有任何运气。

这是相关的代码(connection == MySqlConnection包含连接字符串):

public static DataSet getData(string table)

{

DataSet returnValue = new DataSet();

try

{

MySqlCommand cmd = connection.CreateCommand();

cmd.Parameters.AddWithValue("@param1", table);

cmd.CommandText = "SELECT * FROM @param1";

connection.Open();

MySqlDataAdapter adap = new MySqlDataAdapter(cmd);

adap.Fill(returnValue);

}

catch (Exception)

{

}

finally

{

if (connection.State == ConnectionState.Open)

connection.Close();

}

return returnValue;

}

如果我更改:

cmd.CommandText = "SELECT * FROM @param1";

至:

cmd.CommandText = "SELECT * FROM " + table;

作为一种测试方法,它是可行的(我正在将XML从数据集中写入控制台以进行检查)。因此,我很确定问题只是以错误的方式使用了参数功能。有指针吗?

另外,如果我记错了,请更正我,但是使用Parameter功能应该提供针对SQL注入的完全保护,对吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值