Error: "The best overloaded method match for" and "Argument 1: cannot convert from 'string' to 'int'"

Error: "The best overloaded method match for" and "Argument 1: cannot convert from 'string' to 'int'"

我在“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);
            }

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

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

的值

sqlDR.GetString("SECTION_NAME") method requires integer as parameter

你的参数是字符串,值为"SECTION_NAME".