如何使用文本框获取表名

本文关键字:获取 何使用 文本 | 更新日期: 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);