3
Je crée un programme crystal report @ C# mais lorsque j'exécute le rapport, il fonctionne d'abord mais quand j'exécute le même rapport à la deuxième fois j'ai cette erreur. J'utilise view to sql server pour récupérer mes données.C# Crystal report argument hors de l'exception
cmd = new SqlCommand("Select * From referral where referralNo = '" +
lblReferral.Text + "' and clientNo = '" + cbClientNo.Text + "'", con);
cmd.CommandType = CommandType.Text;
da.SelectCommand = cmd;
da.Fill(ds, "referral");
rp.SetDataSource(ds);
f3.crt.ReportSource = rp;
f3.Show();
rp.Close();
J'ai cette erreur.
An unhandled exception of type 'System.ArgumentOutOfRangeException'
occurred in System.Windows.Forms.dll
Additional information: Index 0 is out of range.
alors ce sont les instances
CrystalReport1 rp = new CrystalReport1();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
reportViewer f3 = new reportViewer();
où est créée l'instance de rapport ('crt')? est-ce un contrôle qui a été ajouté à f3 au moment du design? essayez d'obtenir la pile d'appel d'exception complète et publiez-la ici. * indice habituel le code n'est pas sûr pour les scripts, les utilisateurs pourraient injecter un code malveillant si le texte dans lblreferral ou cbclientno est modifiable * – dlatikay
merci pour le conseil le crt leur est le rapport de cristal et le f3 est le formulaire utilisé pour le reportviewer j'utilise une vue pour obtenir toutes ces données alors le lblreferral est un nombre autogénéré et cbclient est un combobox qui stocke clientno seulement –
ok est-ce que vous créez une nouvelle instance de tout avant votre deuxième exécution, ou réutilisez-vous les instances existantes? – dlatikay