错误:“最佳重载方法匹配”和“参数 1:无法从 'string' 转换为 'int'”

Posted

技术标签:

【中文标题】错误:“最佳重载方法匹配”和“参数 1:无法从 \'string\' 转换为 \'int\'”【英文标题】:Error: "The best overloaded method match for" and "Argument 1: cannot convert from 'string' to 'int'"错误:“最佳重载方法匹配”和“参数 1:无法从 'string' 转换为 'int'” 【发布时间】:2018-04-18 09:49:57 【问题描述】:

我在“sqlDR.GetString("SECTION_NAME")”中遇到错误。

SqlConnection conn = new SqlConnection(StringConnection.sqlAddress);
            SqlCommand comm = new SqlCommand("select SECTION_NAME from SECTION", conn);
            SqlDataReader sqlDR;

            try
            
                conn.Open();
                sqlDR = comm.ExecuteReader();

                while (sqlDR.Read())
                
                    string branch = sqlDR.GetString("SECTION_NAME");
                    cmbBranch.Items.Add(branch);
                
            
            catch (Exception ex)
            
                MessageBox.Show(ex.Message);
            

【问题讨论】:

DataReader.GetString() via columnname的可能重复 因为 GetString 需要整数... 【参考方案1】:

您不能将 GetSrting() 与字符串参数一起使用。 GetString() 获取列索引作为参数。 在您的示例中 SECTION_NAME 有 0 列索引。 所以你的代码必须是sqlDR.GetString(0);

如果您的查询是选择 SOMETHING_ELSE,SECTION_NAME from SECTION" 您的代码必须是 sqlDR.GetString(1); 才能获得 SECTION_NAME 的值

【讨论】:

【参考方案2】:

sqlDR.GetString("SECTION_NAME") 方法需要整数作为参数

您的参数是字符串,其值为 "SECTION_NAME"

【讨论】:

以上是关于错误:“最佳重载方法匹配”和“参数 1:无法从 'string' 转换为 'int'”的主要内容,如果未能解决你的问题,请参考以下文章

最佳重载方法匹配有一些无效参数 C#

最佳重载方法匹配有一些无效参数

最佳重载方法匹配...有一些无效参数

需要帮助 'string.endswith(string)' 的最佳重载方法匹配有一些无效参数

使用 Raycast 时出错

如何将枚举作为字符串参数传递给 Authorize 属性?