使用c#在ssms表中插入数据

时间:2017-05-10 14:23:15

标签: c#-4.0 ssms-2014

我是编程和c#/ ssms的新手,我想将数据插入到我在ssms中使用c#中的程序创建的表中。 所以现在这是我的代码。它以某种方式工作,但它不会将数据插入到ssms中的表中。上面的部分是“myConnection.Open();”很好,它只是休息。

using (SqlConnection myConnection = new SqlConnection(conString))
{
    using (SqlCommand myCommand = new SqlCommand(sqlStatement, myConnection))
    {
        myConnection.Open();

        SqlCommand MyCommand = new SqlCommand("Insert Into Artikel (Artikelnummer, Bezeichnung, Lieferant, Einkaufspreis, Verkaufspreis, Rabatt) VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "', '" + textBox6.Text + "')");
        myCommand.ExecuteNonQuery();
        myConnection.Close();

希望你能帮助我,谢谢。

1 个答案:

答案 0 :(得分:1)

你没有执行这句话:

SqlCommand MyCommand = new SqlCommand("Insert Into Artikel (Artikelnummer, Bezeichnung, Lieferant, Einkaufspreis, Verkaufspreis, Rabatt) VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "', '" + textBox6.Text + "')");

因为您之前使用不同的名称声明了变量:

using (SqlCommand myCommand = new SqlCommand(sqlStatement, myConnection))

为了工作,首先需要声明SQL语句并稍后执行它:

string sqlStatement = "Insert Into Artikel (Artikelnummer, Bezeichnung, Lieferant, Einkaufspreis, Verkaufspreis, Rabatt) VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "', '" + textBox6.Text + "')";

using (SqlConnection myConnection = new SqlConnection(conString))
{
    using (SqlCommand myCommand = new SqlCommand(sqlStatement, myConnection))
    {
        myConnection.Open();


        myCommand.ExecuteNonQuery();
        myConnection.Close();
    }
}

我认为应该适应这种变化。此外,在不久的将来,我建议您实体框架,它将在您的编程生涯中为您提供很多帮助:

http://www.tutorialspoint.com/entity_framework/

此外,您应该避免使用此代码,并且要避免使用SQL Injections,您可以执行以下操作:

string sqlStatement = "Insert Into Artikel (Artikelnummer, Bezeichnung, Lieferant, Einkaufspreis, Verkaufspreis, Rabatt) VALUES (@val1, @val2, @val3, @val4, @val5, @val6)";

using (SqlConnection myConnection = new SqlConnection(conString))
{
    using (SqlCommand myCommand = new SqlCommand(sqlStatement, myConnection))
    {
        myConnection.Open();

        myCommand.Parameters.Add(new SqlParameter("@val1", SqlDbType.VarChar, 200){Value = textBox1.Text ?? (object) System.DBNull.Value});
        myCommand.Parameters.Add(new SqlParameter("@val2", SqlDbType.VarChar, 200){Value = textBox2.Text ?? (object) System.DBNull.Value});
        myCommand.Parameters.Add(new SqlParameter("@val3", SqlDbType.VarChar, 200){Value = textBox3.Text ?? (object) System.DBNull.Value});
        myCommand.Parameters.Add(new SqlParameter("@val4", SqlDbType.VarChar, 200){Value = textBox4.Text ?? (object) System.DBNull.Value});
        myCommand.Parameters.Add(new SqlParameter("@val5", SqlDbType.VarChar, 200){Value = textBox5.Text ?? (object) System.DBNull.Value});
        myCommand.Parameters.Add(new SqlParameter("@val6", SqlDbType.VarChar, 200){Value = textBox6.Text ?? (object) System.DBNull.Value});

        myCommand.ExecuteNonQuery();
        myConnection.Close();
    }
}