我想限制用户只在mysql中生成select命令,不删除或更新或插入

时间:2018-01-18 07:12:07

标签: mysql selectcommand

                    MySqlConnection connection = new MySqlConnection(strConnection);
                    MySqlCommand command = connection.CreateCommand();

                    MySqlDataReader reader;
                    command.CommandText = pQuery;
                    connection.Open();
                    reader = command.ExecuteReader();
                    var dataTable = new DataTable();
                    dataTable.Load(reader);

                    connection.Close();

我从文本框中获取了查询,我不希望用户使用文本框删除或更改数据库中的数据

如何将命令限制为仅选择命令

谢谢

1 个答案:

答案 0 :(得分:1)

您可以在数据库中创建仅具有select权限的用户,并使用该用户连接到数据库。 或者您可以使用包含方法

检查用户输入是否包含“delete”关键字
if( pQuery.ToUpper.Contains("DELETE") or pQuery.ToUpper.Contains("UPDATE"))
{
// do something
}
else{
                MySqlConnection connection = new MySqlConnection(strConnection);
                MySqlCommand command = connection.CreateCommand();

                MySqlDataReader reader;
                command.CommandText = pQuery;
                connection.Open();
                reader = command.ExecuteReader();
                var dataTable = new DataTable();
                dataTable.Load(reader);

                connection.Close();

   }