이걸 사용하여 SQL 데이터베이스에 연결합니다.어떻게 SQL 연결을 별도의 클래스에 넣을 수 있습니까? C#
namespace WindowsFormsApplication1
{
public partial class InvoiceGUI : Form
{
System.Data.SqlClient.SqlConnection con;
System.Data.SqlClient.SqlDataAdapter da;
DataSet ds1;
DataRow dRow;
int MaxRows = 0;
int inc = 0;
public InvoiceGUI()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
con = new System.Data.SqlClient.SqlConnection();
ds1 = new DataSet();
con.ConnectionString = "Data Source=(local);Initial Catalog=invoice_db;Integrated Security=SSPI";
con.Open();
//MessageBox.Show("open");
string sql = "select * from invoice";
da = new System.Data.SqlClient.SqlDataAdapter(sql, con);
da.Fill(ds1, "Invoice");
NavigateInvoice();
//Set the max rows
MaxRows = ds1.Tables["Invoice"].Rows.Count;
con.Close();
//MessageBox.Show("closed");
}
어떻게 연결을 별도의 클래스로 이동하고 다른 클래스 (Windows 양식)에서 데이터베이스에 액세스합니까?
가 나는
나에게 당신은 항상 데이터 액세스와 같은 클래스/DLL을 분리해서하는 데이터 액세스를 관련 코드를 이동해야
Xtreme, 최소한 당신은 DAT (Data Access Layer)라고 부를 수있는 분리 된 클래스 라이브러리 프로젝트를 작성해야합니다. 이것은 Windows Forms 애플리케이션의 동일한 솔루션 안에있을 수 있습니다. SQL 연결은 거기서 만 생성되고 소비되어야하며, 테이블 이름이나 저장 프로 시저 이름을 지정할 수있는 공용 메서드가 있으며 거기에서 DataTable을 검색합니다. 이 온라인 및 SO에 대한 많은 기사 ... –
원시 ADO.NET 대신 PetaPoco/Dapper 또는 Massive를 사용하는 것이 좋습니다. –