Ini karena toString() menggunakan CultureInfo saat ini! Itu tergantung pada budaya jika dobel dipisahkan dengan koma atau titik.
Lihat juga ini Pertanyaan Stackoverflow!
Jika Anda men-debug-nya, Anda akan melihat, bahwa reader["Price"] mengembalikan Object (type=Object{double}). Apakah di sini nilainya benar? Saya kira begitu, jadi buat saja berikut ini untuk menampilkan nilai ganda:
string display = double.Parse(reader["Price"], CultureInfo.InvariantCulture).ToSring(CultureInfo.CurrentCulture);
System.Diagnostics.Debug.WriteLine(display);