我正在用asp.net做一个小项目。任务的一部分是我从sql server数据库检索信息。到目前为止,我只需要一个记录,所以我使用了以下代码:
public string getTwitterSearchHistory(string userId)
{
if (userId != null)
{
List<string> history = new List<string>();
string result = "";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
conn.Open();
SqlCommand command = new SqlCommand("SELECT searchedTerm FROM dbo.TwitterSearchHistoryModels WHERE userId = @userId", conn);
command.Parameters.AddWithValue("@userId", userId);
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.Read())
{
result = String.Format("{0}", reader["searchedTerm"]);
}
}
conn.Close();
return result;
}
return "";
}
现在,当我想从一个记录中检索一个属性时,这段代码工作得非常完美。但是,现在我需要从多个属性中检索一个属性。意思是,假设我有以下几点:
ID | UserId | searchedTerm
--------------------------------
1 | 1 | hello
2 | 1 | anothersearchedterm
3 | 1 | this is a term
如何检索userid 1的所有searchedTerm并将它们存储在某种数组中?
谢谢!
**编辑:我向控制器中的一个方法发送一个ajax请求。
function loadHistory() {
var detailsForGet = {
userId: sessionStorage.getItem("userName")
}
$.ajax({
type: "GET",
url: "https://localhost:44326/User/getTwitterSearchHistory",
data: detailsForGet,
success: function (data) {
console.log(data)
}
});
}
现在,在控制器中,我有一个从本地数据库执行select查询的方法:
public List<string> getTwitterSearchHistory(string userId)
{
if (userId != null)
{
List<string> history = new List<string>();
string result = "";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
conn.Open();
SqlCommand command = new SqlCommand("SELECT searchedTerm FROM dbo.TwitterSearchHistoryModels WHERE userId = @userId", conn);
command.Parameters.AddWithValue("@userId", userId);
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
history.Add(String.Format("{0}", reader["searchedTerm"]));
}
}
conn.Close();
return history;
}
return null;
}
现在,在调试时,我可以看到变量history保存了很好的值,但是,当我成功地调用了w ajax时,当我尝试打印数据时,得到了以下结果:system.collections.generic.list`1[system.string]。。我做错什么了?谢谢
暂无答案!
目前还没有任何答案,快来回答吧!