Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 看看你做了什么,为什么。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!一个好的答案不仅仅是提供一段代码,它还解释了您所做的事情以及原因。如果你不这样做,那么从答案中学_C#_.net_Sql Server_Casting_Type Conversion - Fatal编程技术网

C# 看看你做了什么,为什么。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!一个好的答案不仅仅是提供一段代码,它还解释了您所做的事情以及原因。如果你不这样做,那么从答案中学

C# 看看你做了什么,为什么。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!一个好的答案不仅仅是提供一段代码,它还解释了您所做的事情以及原因。如果你不这样做,那么从答案中学,c#,.net,sql-server,casting,type-conversion,C#,.net,Sql Server,Casting,Type Conversion,看看你做了什么,为什么。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!一个好的答案不仅仅是提供一段代码,它还解释了您所做的事情以及原因。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!我被你的第一句话弄糊涂了。浮点数是一个十进制数。它的显示将取决于您的文化。对我来说,三个半是“3.5”。对于使用,作为十进制分隔符的其他人


看看你做了什么,为什么。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!一个好的答案不仅仅是提供一段代码,它还解释了您所做的事情以及原因。如果你不这样做,那么从答案中学习是不可能的(或者至少要困难得多)。我已经找到了解决方案,我发布了一个关于它的答案。顺便说一下,非常感谢!我被你的第一句话弄糊涂了。浮点数是一个十进制数。它的显示将取决于您的文化。对我来说,三个半是“3.5”。对于使用
作为十进制分隔符的其他人,它可能是“3,5”。也许我误解了你的意思,我不确定。您还应该解释为什么您认为新代码更好。我看到您使用的是
GetDouble
而不是
GetValue
。也许你应该在回答中解释一下,为什么你认为这样更好。我从来没有说过这样更好。这是对你的有效解决方案的回答。Float是基于区域性的错误,我将删除它。@Chris GetDouble将按原样获取数据类型。GetValue将值保存在对象中,因此您必须进行转换以使其与您想要的匹配。链接这里:@Chris答案不需要更好。解决问题的方法也很多。我用自己的方式解决了一个问题。如果你想使用GetValue或GetDouble,这是相当有偏见的。我说的“更好”是指与OPs不起作用的代码相比。您已经做了一些您认为可以解决问题的更改,您应该尝试解释它们是什么,而不是仅仅给出一个大的代码块,依靠OP(和其他任何人)查看您的代码,找出您所做的更改,以及为什么原始代码不起作用。我对您的第一行感到非常困惑。浮点数是一个十进制数。它的显示将取决于您的文化。对我来说,三个半是“3.5”。对于使用
作为十进制分隔符的其他人,它可能是“3,5”。也许我误解了你的意思,我不确定。您还应该解释为什么您认为新代码更好。我看到您使用的是
GetDouble
而不是
GetValue
。也许你应该在回答中解释一下,为什么你认为这样更好。我从来没有说过这样更好。这是对你的有效解决方案的回答。Float是基于区域性的错误,我将删除它。@Chris GetDouble将按原样获取数据类型。GetValue将值保存在对象中,因此您必须进行转换以使其与您想要的匹配。链接这里:@Chris答案不需要更好。解决问题的方法也很多。我用自己的方式解决了一个问题。如果你想使用GetValue或GetDouble,这是相当有偏见的。我说的“更好”是指与OPs不起作用的代码相比。您已经做了一些您认为可以解决问题的更改,您应该尝试解释它们是什么,而不是仅仅给出一个大的代码块,依靠OP(和其他任何人)查看您的代码,找出您所做的更改,以及为什么它们在原始代码不起作用的情况下起作用。
command.Connection = cn;
command.CommandText = "SELECT * FROM test";
SqlDataReader rd = command.ExecuteReader();
while(rd.Read())
{
    double d = (double) rd.GetValue(0);
}
double d = Convert.ToDouble(rd.GetValue(0));
command.Connection = cn;
command.CommandText = "SELECT  TOP 1 * FROM test order by myfield desc"; //or asc
double result = (double)command.ExecuteScalar();
List<double> result = new List<doulbe>();
while(rd.Read())
{
    result.Add(double.Parse(rd[0].ToString());
}
"SELECT  TOP 1 myfield  FROM test order by myfield desc"; //or asc
double d = (double) rd.GetValue(0);
double d = 0;
double.TryParse(rd["ColumnName"].ToString().Replace('.',','),out d);    
double d = double.Parse(rd["ColumnName"].ToString(), CultureInfo.InvariantCulture); 
List<double> columnData = new List<double>();
            using (SqlConnection connection = new SqlConnection("Server=EGC25199;Initial Catalog=LegOgSpass;Integrated Security=SSPI;Application Name=SQLNCLI11.1"))
            {
                connection.Open();
                    string query = "SELECT * FROM [dbo].[floattable]";
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            columnData.Add(reader.GetDouble(0));

                        }
                    }
                }
            }