Jump to content

CRUD


Rodrigo Mendes

Recommended Posts

Olá, foi me dada uma tarefa de estagio em que teria de fazer um programa que inserisse numa table as informações que o utilizador colocar e entretanto já tentei fazer de varias formas mas dá sempre o mesmo erro sendo ele no cmd.ExecuteNonQuery();

 

Segue-se aqui o codigo que fiz até então:

public Form2()
        {
            InitializeComponent();
            SqlConnection con = new SqlConnection("Data Source=OPCOSQL\\OPCOSQL;Initial Catalog=OPCO-SQL;Integrated Security=True;Pooling=False");
            con.Open();
            SqlCommand cmd = new SqlCommand("Select * from Pc", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;
        }
        private void button1_click_1(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Data Source=OPCOSQL\\OPCOSQL;Initial Catalog=OPCO-SQL;Integrated Security=True;Pooling=False");
            con.Open();
            SqlCommand cmd = new SqlCommand("insert into dbo.[Pc] ([Cpu], [Hd], [Ram], [Video Port], [Ip/Dhcp]) values ('@Cpu', '@Hd', '@Ram', '@Video Port', '@Ip/Dhcp')\r\n", con);
            cmd.Parameters.AddWithValue("@Cpu", textBox1.Text);
            cmd.Parameters.AddWithValue("@Hd", textBox2.Text);
            cmd.Parameters.AddWithValue("@Ram", textBox3.Text);
            cmd.Parameters.AddWithValue("@Video Port", textBox4.Text);
            cmd.Parameters.AddWithValue("@Ip/Dhcp", textBox5.Text);
            cmd.ExecuteNonQuery();
            con.Close();
        }

Sou apenas uma pessoa 

Link to comment
Share on other sites

Presumo que isso seja quando fazes o insert into.
Começa por aplicar boas práticas e não uses:

  • letras latinas: no nome das colunas; no nome das variáveis; no nome dos parâmetros sql
  • símbolos/espaços: no nome das colunas; no nome das variáveis; no nome dos parâmetros sql
  • ' para encapsular parâmetros sql
  • indicar que o teu comando é do tipo texto (cmd.CommandType = CommandType.Text;)

Não necessitas de ter \r\n no final do comando.

Se ainda tiveres problemas, podes sempre simular o comando diretamente na base de dados para obteres mais informação.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

11 minutos atrás, M6 disse:

Presumo que isso seja quando fazes o insert into.
Começa por aplicar boas práticas e não uses:

  • letras latinas: no nome das colunas; no nome das variáveis; no nome dos parâmetros sql
  • símbolos/espaços: no nome das colunas; no nome das variáveis; no nome dos parâmetros sql
  • ' para encapsular parâmetros sql
  • indicar que o teu comando é do tipo texto (cmd.CommandType = CommandType.Text;)

Não necessitas de ter \r\n no final do comando.

Se ainda tiveres problemas, podes sempre simular o comando diretamente na base de dados para obteres mais informação.

obrigado vou testar o que disseste!!!

 

Sou apenas uma pessoa 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.