Hallo!

> Noch ein Detail, wenn die Schleife  das erste aml durchlaufen 
> wird funktioniert es noch, erst beim 2. Mal kommt dieser Fehler.

Das muss mit den lokalen Variablen (kdnr[j], firmanname[j], ...)
zusammenh�ngen. Kannst Du nicht die Anzahl der Elemente in der Liste
pr�fen?

for(int j = 0; j < kdnr.Count; j++)
{
   ...
}

> hmm was meinst du mit SP? das ist jedenfalls der vollst�ndige 
> programmteil

"SP" hei�t "Stored Procedure". ;-)

> string nonquery;
> SqlCommand cmd2;
> for(int j=0;j<=i;j++)
> {
>   SQLKundenInsert = "INSERT INTO Test_Kundendaten 
> (kdnr,firma,vorname,nachname,titel,adresse,plz,ort,tel,fax,ema
> il,skript,priority) VALUES (" + Convert.ToInt32(kdnr[j]) + 
> ",'" + firmenname[j] + "','" + vorname[j] + "','" + 
> nachname[j] + "','" + titel[j] + "','" + adresse[j] + "','" + 
> plz[j] + "','" + ort[j] + "','" + tel[j] + "','" + fax[j] + 
> "','" + email[j] + "'," + Convert.ToInt32(skript[j]) + "," + 
> Convert.ToInt32(priority[j]) + ")";
> 
>   cmd2 = new SqlCommand(SQLKundenInsert, objConnection);
>   nonquery = cmd2.ExecuteNonQuery().ToString();
> }

Auch unter .NET gibt es wieder Probleme mit selbst zusammengestellten
SQL-Befehlen. Ich verstehe nicht, warum  hier die Werte erst nach Int32
konvertiert und dann zu Zeichenketten zusammengesetzt werden.

Normalerweise macht man das so:

SQLKundenInsert = "INSERT INTO ... (kdnr, firma, ...) VALUES (@kdnr,
@firma)";
SQLCommand = new SqlCommand(SQLKundenInsert, SqlConnection);
for(int i = 0; j < kdnr.Count; j++)
{
   SQLCommand.Parameters["@kdnr"].Value = kdnr[j]
   SQLCommand.Parameters["@firma"].Value = firmenname[j]
   SQLCommand.ExecuteNonQuery();
}

Wenn die Werte immer �ber Parameter �bergeben werden, hast Du Code, der
unabh�ngig von Gebietsschemata und lokalen Konvertierungsoptionen ist.
Aus diesem Grunde definiert man die SP (Stored Procedure) auch direkt in
der Datenbank und nicht im Quellcode der Applikation.

Da f�llt mir noch ein, dass "ExecuteNonQuery" nichts zur�ck gibt (au�er
�ber Parameter). M�glicherweise ist das auch eine Fehlerursache. Wenn Du
die Anzahl betroffener Datens�tze (Records affected) haben m�chtest,
solltest "ExecuteScalar" verwenden.

Freundliche Gr��e
Joachim van de Bruck



| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an