如何使用文本框获取表名
本文关键字:获取 何使用 文本 | 更新日期: 2023-09-27 17:56:50
是否可以使用文本框作为引用进行select
查询。
有些像:
SELECT modeltype FROM txt_model.text
文本框中显示的值是表的名称。
您可以按照描述进行操作,但这是一个坏主意。 我建议的代码如下 - 它是安全的并且具有相同的UI:
// add your table names to the list below
List<string> validTables = New List<string>() {"users", "addr", "events" };
if (validTables.IndexOf(txt_model.text.ToLower()) > 0)
{
// use "SELECT modeltype FROM "+txt_model.text to perform work
}
else
{
// error code
}
可能是你想要一个有效的表的动态列表。 在这种情况下,您可以采用以下结果(以 SQL Server 为例):
SELELCT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
并将其放在validTables列表中。
或者,您可以将该选择的结果放在下拉列表中。
构建查询字符串的一种方法:
string sql = string.Format("Select modeltype From {0}", txt_model.Text);
// ...
SqlCommand cmd = new SqlCommand(sql);