【发布时间】:2010-04-16 21:54:29
【问题描述】:
我必须使用用户在网页上选择的值来创建一个字符串,
假设我需要用不同的搜索条件显示多台机器的文件...
我目前使用这个代码:
DataTable dt = new DataTable();
SqlConnection connection = new SqlConnection();
connection.ConnectionString = ConfigurationManager
.ConnectionStrings["DBConnectionString"].ConnectionString;
connection.Open();
SqlCommand sqlCmd = new SqlCommand
("SELECT FileID FROM Files
WHERE MachineID=@machineID and date= @date", connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlCmd.Parameters.AddWithValue("@machineID", machineID);
sqlCmd.Parameters.AddWithValue("@date", date);
sqlDa.Fill(dt);
现在这是一个固定查询,用户只有一台机器,只选择一个日期...
我想做一个查询,其中用户有多个搜索选项,如类型或大小,如果他/她想要,这取决于他/她选择的内容。
如果他/她可以选择多台机器...
SELECT FileID FROM Files
WHERE (MachineID=@machineID1 or MachineID = @machineID2...)
AND (date= @date and size=@size and type=@type... )
所有这些都发生在运行时...否则我必须创建一个for 循环来将多台机器一一放置...并根据用户选择的情况进行多个查询...
这很有趣,我可以使用一些帮助...
【问题讨论】:
-
您的输入很棒,但是根据用户选择添加日期、类型等其他搜索条件呢……好吧,我不擅长存储过程,所以正在寻找一个简单的出路...但是正如你们所有人建议我走的那样,我需要知道如何实现它..有人可以告诉我在哪里可以找到有关存储过程的好信息,以便我可以理解和使用它...
-
嗨,我已经扩展了我的答案,包括一个可以解决您的问题的存储过程。