Perfecto ya lo resolvi... el problema era que el Ingredient tempIng = new Ingredient() iba dentro del for... estaba usando el mismo objeto todo el rato, por eso siempre me ponia el mismo valor.. ¬¬ que cabeza la mia..
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúpublic Ingredient[] WriteLVIngredient(ListView List)
{
Ingredient[] Ingr = new Ingredient[List.Items.Count];
int i = 0, index, long1, long2, long3, long4;
string Quantity = string.Empty;
string Name = string.Empty;
string temp = string.Empty;
string unt = string.Empty;
Ingredient tempIng = new Ingredient();
if (List.HasItems)
{
for (i = 0; i < List.Items.Count; i++)
{
tempIng.Clear();
long1 = List.Items[i].ToString().Length; //total length of string//
long2 = long1 - (List.Items[i].ToString().IndexOf(" ")); //length of units and indredient name//
long3 = long1 - long2 + 1; //length of quantity of indredient without units//
Quantity = List.Items[i].ToString().Substring(0, List.Items[i].ToString().IndexOf(" ")); //quantity string without units//
temp = List.Items[i].ToString().Substring(long3); //this string contains units and ingredient name//
index = temp.IndexOf(" "); //index of first space in temp string//
long4 = (temp.Length) - index + 1;
unt = temp.Substring(0, index + 1);
tempIng.setUnit(unt); //Set the units of the quantity//
Name = temp.Substring(index);
tempIng.setQuantity(float.Parse((Quantity)));
tempIng.name = Name;
Ingr [i] = tempIng;
}
}
return Ingr;
}
using(SqlConnection conn = EcnaDB.OpenConnection(Server))
{
SqlDataReader reader = EcnaDB.ReadDB(strSqlCommand, conn);
if (reader.HasRows)
{
nRegs = 0;
while (reader.Read())
{
nRegs++;
for (int i = 0; i < reader.FieldCount; i++)
{
alTemp.Add(reader.GetValue(i).ToString());
}
}
Lista.Items.Add(alTemp);
}
public int MaxID(string tableName)
{
string IDname = "";
DB EcnaDB = new DB();
string Info = String.Empty;
for (int i = 0; i < tableName.Length - 1; i++)
{
if (tableName[i] == '.')
{
for (int j = i, k = 0; j < tableName.Length - 1; j++, k++)
{
IDname[k] = tableName[j]; //aqui me da el error//
}
}
}
Cmd = "select ID" + IDname + " from dbo." + tableName + " where Nombre = 'Contador'";
using (SqlConnection conn = EcnaDB.OpenConnection(Server))
{
SqlDataReader reader = EcnaDB.ReadDB(Cmd, conn);
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Info += reader.GetValue(i).ToString();
}
}
}
return Int32.Parse(Info);
}