C # С SQLite, реальный с запятой на значении, как это получить? - PullRequest
0 голосов
/ 30 мая 2018

на SQLite есть таблица с несколькими столбцами с действительными, если значение real в виде точки на нем ex 123.23 Я могу получить это значение без каких-либо проблем с reader["columnname"].ToString();

Но когдазначение столбца равно 123,23, если я попытаюсь получить его, оно будет равно 0

. Я дважды проверил значение, и оно там, но всегда равно 0.

Как я могуправильно читать?!

Редактировать:

Код, где я читаю запрос

using (SQLiteCommand cmd = con.CreateCommand())
{
    cmd.CommandText = "SELECT * FROM Ajuda_Compras WHERE Cod_Art = @prodCod";
    cmd.Parameters.AddWithValue("@prodCod", value);
    using (SQLiteDataReader reader = cmd.ExecuteReader())
    {
        ManagerLastPrices tempLast;
        while (reader.Read())
        {
            tempLast = new ManagerLastPrices();
            tempLast.ProdCod = reader["Cod_art"].ToString();
            tempLast.Descr = reader["Descricao"].ToString();
            tempLast.Date = reader["Data"].ToString();
            tempLast.FiscalYear = reader["AnoFiscal"].ToString();
            tempLast.DocType = reader["TipoDoc"].ToString();
            tempLast.Serie = reader["Serie"].ToString();
            tempLast.DocNumber = reader["N_Doc"].ToString();
            tempLast.Qtd = reader["Qtd"].ToString();
            tempLast.DiscountPrice = reader["P_Compra"].ToString();
            tempLast.DiscountPerc = reader["Desc1"].ToString();
            tempLast.Price = reader["P_Unit"].ToString();
            tempLast.EntityID = reader["Id_Terceiro"].ToString();
            tempLast.Entity = reader["Terceiro"].ToString();
            this._listLastPrices.Add(tempLast);
        }
    }
}

1 Ответ

0 голосов
/ 30 мая 2018

Если ваш тип данных удвоен, ваш код указан ниже.Вы можете использовать SqliteDataReader.GetDouble(colIndex), чтобы получить индекс столбца, используйте SqliteDataReader.GetOrdinal(colname)

EG:

double temp= reader.GetDouble(reader.GetOrdinal("P_Compra"));
tempLast.DiscountPrice = temp.ToString("#,#", CultureInfo.InvariantCulture);
...