web-dev-qa-db-fra.com

L'indice (basé sur zéro) doit être supérieur ou égal à zéro

Hey je continue à avoir une erreur:

L'index (basé sur zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste d'arguments.

Mon code:

OdbcCommand cmd = new OdbcCommand("SELECT FirstName, SecondName, Aboutme FROM User WHERE UserID=1", cn);

OdbcDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    Name.Text = String.Format("{0} {1}", reader.GetString(0), reader.GetString(1));
    Aboutme.Text = String.Format("{2}", reader.GetString(0));
}
97
Garrith Graham

Votre deuxième String.Format utilise {2} comme espace réservé, mais vous ne transmettez qu'un seul argument. Vous devez donc utiliser {0} à la place.

Change ça:

String.Format("{2}", reader.GetString(0));

Pour ça:

String.Format("{0}", reader.GetString(2));
163
Ahmad Mageed

Dans cette ligne:

Aboutme.Text = String.Format("{2}", reader.GetString(0));

Le jeton {2} n'est pas valide car vous ne disposez que d'un seul élément dans les paramètres. Utilisez ceci à la place:

Aboutme.Text = String.Format("{0}", reader.GetString(0));
20
jfollas

Changer cette ligne:

Aboutme.Text = String.Format("{0}", reader.GetString(0));
6
Mike Cole

Cela peut également se produire lorsque vous essayez de lancer une ArgumentException et que vous appelez par inadvertance la surcharge ArgumentException du constructeur.

public static void Dostuff(Foo bar)
{

   // this works
   throw new ArgumentException(String.Format("Could not find {0}", bar.SomeStringProperty));

   //this gives the error
   throw new ArgumentException(String.Format("Could not find {0}"), bar.SomeStringProperty);

}
2
SkeetJon

String.Format doit commencer par un index nul "{0}" comme ceci:

Aboutme.Text = String.Format("{0}", reader.GetString(0));
0
Kashif Faraz
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Enter Your FirstName ");
            String FirstName = Console.ReadLine();

            Console.WriteLine("Enter Your LastName ");
            String LastName = Console.ReadLine();
            Console.ReadLine();

            Console.WriteLine("Hello {0}, {1} " + FirstName, LastName);
            Console.ReadLine();

        }
    }
}

 Picture

0
parag