【发布时间】:2014-07-02 10:06:23
【问题描述】:
我正在尝试从数据库中获取查询,我已经完成了以下操作:
public DataTable FetchTasks(string questName, string categoryName)
{
const string queryString = @" SELECT *
FROM dbo.Task as t
INNER JOIN dbo.[Quest] as q
on q.QuestID = t.QuestID
INNER JOIN dbo.[Category] as c
on c.CategoryID = t.CategoryID
WHERE q.[Description] = @questName
AND c.CategoryTitle = @categoryName";
using (var dataAdapter = new SqlDataAdapter(queryString, ConnectionString))
{
using (var cmd = new SqlCommandBuilder(dataAdapter))
{
cmd.Parameters.AddWithValue("@questName", questName);
cmd.Parameters.AddWithValue("@categoryName", categoryName);
var table = new DataTable { Locale = System.Globalization.CultureInfo.InvariantCulture };
dataAdapter.Fill(table);
return table;
}
}
但是我收到以下行的错误:
cmd.Parameters.AddWithValue("@questName", questName);
cmd.Parameters.AddWithValue("@categoryName", categoryName);
上面写着:
无法解析符号“参数”
我哪里出错了?我知道错误出在我添加参数的位置 - 但我不了解如何更正它。
【问题讨论】:
-
你猜你能不能在
using (var dataAdapter = new SqlDataAdapter(queryString, ConnectionString))之后加上adapter.SelectCommand = command;? -
cmd 是 SqlCommandBuilder 的实例,而不是 SqlCommand。