【发布时间】:2015-05-27 10:52:39
【问题描述】:
我正在尝试在我的 C# WindowsForms 应用程序中进行 MySQL 数据库搜索。我有 16 个搜索值(例如:年龄、状态、身高、体重等)。问题是,我不需要填写所有值来执行搜索,而且我不知道如何设置查询字符串。如果我只填写“年龄”和“状态”字段它应该看起来像:
string querySearch = " SELECT * FROM table WHERE age=" + value1 +"status="+value2;
MySqlCommand cmdSearch = new MySqlCommand(querySearch, conn);
readerSearch = cmdSearch.ExecuteReader();
readerSearch.Read();
但我不知道用户要填写多少个字段,所以我必须更动态地编写查询(WHERE 部分)。谁能建议如何解决这个问题?谢谢。
【问题讨论】:
-
你不应该将输入连接到 SQL 中;如果可能总是使用参数 - 上面的 SQL 注入看起来已经成熟了