我试图从数据库中获取一个查询,并完成了以下操作:
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);内容如下:
无法解析符号“参数”
我哪里出问题了?我知道错误在于我添加了参数,但我不知道如何纠正它。
发布于 2014-07-02 02:06:23
Parameters集合不能直接从SqlCommandBuilder访问。
试着用以下两行替换这两行:
cmd.DataAdapter.SelectCommand.Parameters.AddWithValue("@questName", questName);
cmd.DataAdapter.SelectCommand.Parameters.AddWithValue("@categoryName", categoryName);https://stackoverflow.com/questions/24521651
复制相似问题