Witam. Mam problem z zapisem liczby double/decimal do bazy danych już sam nie wiem co robię źle... Problem polega na tym że gdy za pomocą textBox pobieram wartość następnie konwertuje ją do double jeśli wpisze 2.55 oczywiście wywala mi błąd.... błędna wartość double... Ok podaje 2,55 (przecinek)... przechodzi dochodzi do zapisu (2,55) Error mój TSQL wymaga formatu 2.55? WTF?
Część Kodu: *Część kodu usunąłem ograniczenie liczby znaków :(
namespace WindowsFormsApplication2.Presenter
{
class MainPresenter
{
IMain View { get; set; }
public MainPresenter(IMain pView)
{
View = pView;
View.GetTime += pView_GetTime;
View.GetTyp += View_GetTyp;
View.GetKlient += View_GetKlient;
View.ClearTextBox_klient += View_clear_textbox_add_klient;
View.ClearTextBox_film += View_clear_textbox_add_film;
View.DelKlient += View_Del_Klient;
View.AddKlient += AddKlientToDB;
View.AddFilm += AddFilmToDB;
View.GetNosnik += View_Get_Nosnik;
View.GetKategorie += View_Get_Kategorie;
View.GetFilm += View_GetFilm;
View.DelFilm += View_Del_Film;
}
public SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Artur\Desktop\WindowsFormsApplication2\WindowsFormsApplication2\Model\DB_wyp.mdf;Integrated Security=True");
void db_Conect(string db_Comand_string)
{
SqlConnection conextx = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Artur\Desktop\WindowsFormsApplication2\WindowsFormsApplication2\Model\DB_wyp.mdf;Integrated Security=True");
conextx.Open();
SqlCommand db_Comand = new SqlCommand();
db_Comand.Connection = conextx;
db_Comand.CommandText = db_Comand_string;
db_Comand.ExecuteReader();
db_Comand.Cancel();
conextx.Close();
}
void View_GetFilm()
{
#region Połązcnie z bazą danych
SqlConnection DB_Wypconn = new SqlConnection();
DB_Wypconn.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Artur\Desktop\WindowsFormsApplication2\WindowsFormsApplication2\Model\DB_wyp.mdf;Integrated Security=True";
DB_Wypconn.Open();
SqlCommand DB_Wypcommand = new SqlCommand();
DB_Wypcommand.Connection = DB_Wypconn;
DB_Wypcommand.CommandText = "SELECT * FROM Filmy";
SqlDataReader reader = DB_Wypcommand.ExecuteReader();
#endregion
while (reader.Read())
{
ListViewItem _film = new ListViewItem(reader.GetInt32(0).ToString().Trim());
_film.SubItems.Add(reader.GetValue(1).ToString().Trim());
_film.SubItems.Add(reader.GetValue(2).ToString().Trim());
_film.SubItems.Add(reader.GetValue(3).ToString().Trim());
string cena = reader.GetValue(4).ToString();
_film.SubItems.Add(""+ string.Format("{0:n}", cena));
View.FillGetFilm(_film);
}
reader.Close();
DB_Wypconn.Close();
}
void AddKlientToDB()
{
#region CheckData
bool state;
string ewent_text = "";
string text_ok = "Dodawanie użydkownika zakończone sukcesem ";
if (View.vTextBox1 != " " && View.vTextBox1 != "" && View.vTextBox1 != null) { state = true; ewent_text = text_ok; } else { state = false; ewent_text += "Pole Imie nie moze byc puste! \r\n"; }
if (View.vTextBox2 != " " && View.vTextBox2 != "" && View.vTextBox2 != null) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Nazwisko nie moze byc puste! \r\n"; }
if (View.vTextBox3 != " " && View.vTextBox3 != "" && View.vTextBox3 != null) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Ulica nie moze byc puste! \r\n"; }
if (View.vTextBox4 != " " && View.vTextBox4 != "" && View.vTextBox4 != null) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Numer domu nie moze byc puste! \r\n"; }
if (View.vTextBox5 != " " && View.vTextBox5 != "" && View.vTextBox5 != null) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Kod pocztowy nie moze byc puste! \r\n"; }
if (View.vTextBox6 != " " && View.vTextBox6 != "" && View.vTextBox6 != null) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Kod pocztowy nie moze byc puste! \r\n"; }
if (View.vTextBox7 != " " && View.vTextBox7 != "" && View.vTextBox7 != null) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Miejscowość nie moze byc puste! \r\n"; }
#endregion
if (state)
{
db_Conect("insert into Klienci(Imie, Nazwisko, Ulica_nr_domu, Kod_Pocztowy, Miejscowosc, Nr_telefonu, Nr_dowodu) values('"+
View.vTextBox1 + "','" +
View.vTextBox2 + "','" +
View.vTextBox3 + " " + View.vTextBox4 + "','"+
View.vTextBox5 + "-" + View.vTextBox6 + "','"+
View.vTextBox7 + "','" +
View.vTextBox8 + "','" +
View.vTextBox9 + " " + View.vTextBox10 + "')");
Refresh_Klient();
View_clear_textbox_add_klient();
}
View_Mesage_Klient_State(state, ewent_text);
}
void AddFilmToDB()
{
#region CheckData
bool state;
string ewent_text = "";
string text_ok = "Dodawanie filmu zakończone sukcesem";
if (View.vTextBox11 != " " && View.vTextBox11 != "" ) { state = true; } else { state = false; ewent_text += "Pole Tytuł nie może być puste! \r\n"; }
if (View.index_combox1 != 0) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Proszę wybrać nośnik \r\n"; }
if (View.index_combox2 != 0) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Proszę wybrać gatunek \r\n"; }
if (View.vTextBox12 != " " && View.vTextBox12 != "" ) { if (state) { state = true; ewent_text = text_ok; } else state = false; } else { state = false; ewent_text += "Pole Cena nie moze byc puste! \r\n"; }
try
{
// Convert.ToDouble(View.vTextBox12);
double.Parse(View.vTextBox12);
// decimal a = decimal.Parse(View.vTextBox12);
//decimal q = decimal.Parse(View.vTextBox12.Trim());
}
catch (FormatException)
{
state = false;
ewent_text += "Cena musi składać się z wyłącznie z cyfr \r\n";
}
#endregion
if (state)
{
double cena_double = double.Parse(View.vTextBox12);
cena_double *= 100;
int cena = (int)cena_double;
db_Conect("insert into Filmy(Tytul, Nosnik, Gatunek, Cena) values('" +
View.vTextBox11 + "','" +
View.name_combox1 + "','" +
View.name_combox2 + "','"+
cena + "')");
Refresh_Film();
View_clear_textbox_add_film();
}
View_Mesage_Klient_State(state, ewent_text);
}
}
}