Translate

jueves, 21 de noviembre de 2013

SQL Server: Manejar datos tipo Money en Visual Studio y C#

Para usar el tipo de datos money de Sql en visual necesitaremos las siguientes referencias al framework:

Using System.Data.SqlTypes;
Using System.Xml;

Para definir un campo de este tipo en el código lo haremos así:

SqlMoney ammount;

Para asignar datos partiremos de un valor float, double o int que transformaremos a SqlMoney ántes de asignar a la variable:

Double aValue = 100.23F;
SqlMoney amount =(SqlMoney)aValue;

Si hemos usado un SQL reader para obtener los datos a través de una consulta usaremos el método GetSQqlMoney:

using (SqlConnection conn = new SqlConnection(connString))
{
     string query = “select * from Materials where MatID = @matID”;
     using (SqlCommand cmd = new SqlCommand(query, conn))
    {
           cmd.Parameters.Add(new SqlParameter(“@matID”,     SqlDbType.Int));
           cmd.Parameters["@matID"].Value = matID;
           conn.Open();
           SqlDataReader reader = cmd.ExecuteReader();
           while (reader.Read())
           {
                  matID = reader.GetInt32(0);
                  matCost = reader.GetSqlMoney(7);
                  matInitTime = reader.GetString(8);
                  matInitDist = reader.GetDecimal(9);
                  matRecTime = reader.GetString(10);
                  matRecDist = reader.GetDecimal(11);
                  matBuyMemo = reader.GetString(12);
                  userID = reader.GetInt32(13);
          }
         reader.Close();
     }
}  

No hay comentarios: