2016-04-25 10 views
-2

Ich möchte eine Methode, die Daten in SQL einfügen wird. Zum Beispiel habe ich eine Klasse `Wie erstellt man eine Methode, die Daten in SQL mit C# einfügen?

public partial class Users : Form 
{ 
    public Users() 
    { 
     InitializeComponent(); 

    } 

    private void simpleButton1_Click(object sender, EventArgs e) 
    { 
     connections.con.Close(); 
     connections.con.Open(); 
     SqlCommand cmd = new SqlCommand("insert into login_tbl values('" + loginName.Text + "','" + loginpass.Text + "')", connections.con); 
    `cmd.ExecuteNonQuery(); 

    } 
} 

, aber ich mag eine Methode, die die Abfrage und Werte durch seine Parameter wie

model.dbcontext db = new model.dbcontext(); 
db.Insert(sql, param); 

was in Benutzerklasse wird i und DbContext Klasse tun senden zu sortieren aus diesem Problem? hier DbContext Klasse

class dbcontext 
{` public void Insert(string sql,datatype??? param) 
    { 
     connections.con.Close(); 
     connections.con.Open(); 
     using (SqlCommand cmd = new SqlCommand(sql, connections.con)) 
     { 

      cmd.ExecuteNonQuery(); 

     } 

    }`} 

Thnx im Voraus.

+0

"Bitte, bitte, ich will nicht einmal versuchen, Dokumentation zu lesen, tue meine Arbeit für mich". Übersetze ich das richtig? Entschuldigung, - 1 und stimmen zu schließen. – TomTom

Antwort

0

Ich empfehle dringend, wenn Sie bereits arbeiten EF, diese Tabelle als eine Entität zuordnen und fügen Sie eine neue Zeile mit DbSet<TEntity>.Add Methode.

Die Methode, die Sie suchen, ist ExecuteSqlCommnad, die nützlich ist, um non-query Befehle an die Datenbank wie eine Einfügung zu senden.

public void Insert(string sql,params object[] parameters) 
{ 
    Database.ExecuteSqlCommand(sql,parameters); 
}