【发布时间】:2013-10-07 11:55:10
【问题描述】:
我需要使用包含 400 万行的表格填充下拉菜单。
如何在不让 select 语句超时的情况下做到这一点?
需要 SQL 注入。 ?还是别的什么?
现在我尝试只获得前 100 行。但是我的项目在数据库中有很多用户和很多细节。所以我需要在下拉列表中显示所有值,我当前的代码在这里:
protected void SearchButton_Click(object sender, EventArgs e)
{
var search = YourSeachTextBox.Text.Trim();
if(!String.IsNullOrEmpty(search) && search.Length > 3)
{
using(SqlConnection sqlConnection = new SqlConnection("Your Connection String"))
{
var query = "SELECT TOP 100 * FROM [YourTable] WHERE UserName LIKE @Search";
SqlCommand sqlCommand = new SqlCommand(query,sqlConnection);
sqlCommand.Parameters.AddWithValue("@Search", search + "%");
}
}
}
【问题讨论】:
-
嗯?您想用 400 万个项目填充下拉列表吗?祝你好运。即使可以,也没有人愿意从如此庞大的列表中选择一些东西。
-
是的,你需要 SQL 注入 :)
-
没有SQL注入就无法完成
-
对于facebook等社交网络有很多用户,如何管理呢?他们还使用了sql注入?或其他方式?
-
@TimSchmelter :--) 你看到 facebook 搜索好友选项了吗?同样的功能想成为我。
标签: sql select sql-server-2008-r2 settimeout