C# DB Insert Value   zodpovězená otázka

C#, ADO.NET, Databáze

Dobrý den,

chtěl bych požádat o pomoc. V MS SQL Serveru jsem si vytvořil DB. Do této DB se přes program chci připojit a spustit SQL Command, tak aby se mi hodnoty co jsou v textboxech, nalezly do DB. Tento kód jsem zkoušel a marně. Děkuji.

  try
                {
                                   
                   SqlConnection  conn = new SqlConnection( "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Firma\\empty.mdf;Integrated Security=True;User Instance=True");
                    SqlCommand sc = new SqlCommand("INSERT INTO Firma VALUES (" + "'" + jmeno + "'" + "," + " '" + ulice + "'" + "," + " '" + mesto + "'" + "," + " '" + psc + "'" + "," + " '" + telefon + "'" + "," + " '" + fax + "'" + "," + " '" + ico + "'" + "," + " '" + id + "'" + ")", conn);




                    
               
                    conn.Open();


                    sc.ExecuteNonQuery();
      
                          


                } catch(SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

hlavně bych používal ty atributy, o kterých se tu často mluví, to hlavně.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Cože?! Kde by se v takovémto kódu uplatnily atributy?!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslel parametry....

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Funční řešení:

   SqlConnection sqlConnection = new SqlConnection(ConnectionString);

                    SqlCommand sqlCommand = new SqlCommand("INSERT INTO [Firma] ([Jmeno],[Ulice],[Mesto],[PSC],[Telefon],[Fax],[ICO],[IDV]) VALUES (@jmeno,@ulice,@mesto,@psc,@telefon,@fax,@ico,@idv)", sqlConnection); 

                    sqlConnection.Open(); 

                    sqlCommand.Parameters.Add("@jmeno", jmeno);
                    sqlCommand.Parameters.Add("@ulice", ulice);
                    sqlCommand.Parameters.Add("@mesto", mesto);
                    sqlCommand.Parameters.Add("@psc", psc);
                    sqlCommand.Parameters.Add("@telefon", telefon);
                    sqlCommand.Parameters.Add("@fax", fax);
                    sqlCommand.Parameters.Add("@ico", ico);
                    sqlCommand.Parameters.Add("@idv", id);

                    sqlCommand.ExecuteNonQuery();
                    
                    
                    sqlConnection.Close();

Dobrá volba je hodit to do Try.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Článek, kde parametry a připojení do DB popisuji:

http://www.vbnet.cz/clanek--52-

komunikace_s_mssql_databazi_vb_net_c_.aspx

Navíc doporučuji používat using pro práci s připojením. Jinak spojení zůstane otevřené i po provedení příkazu, což je značný problém.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback