【问题标题】:Cannot resolve symbol 'parameters' when using SQLCommandBuilder使用 SQLCommandBuilder 时无法解析符号“参数”
【发布时间】: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。

标签: c# sql tsql


【解决方案1】:

Parameters 集合不能直接从 SqlCommandBuilder 访问。

尝试用这些替换有问题的两行:

cmd.DataAdapter.SelectCommand.Parameters.AddWithValue("@questName", questName);
cmd.DataAdapter.SelectCommand.Parameters.AddWithValue("@categoryName", categoryName);

【讨论】:

    猜你喜欢
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    相关资源
    最近更新 更多