Вака, најпрвин ќе направиш база, потоа во кодот на апликацијата при стартување ќе иницијализираш конекција со со базата, не преку визардот на вижуал студиото, туку „рачно“:
(Значи не во OnLoad евентот, туку во Initialize)
Код:
SqlConnection konekcija = new SqlConnection();
konekcija.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\StandardiSQL.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
Потоа, ќе направииш една функција за поврзување на базата со DataGridView, таа што ти ја пишав во претходните постови:
Код:
// Значи наместо со визардот на DataGridView-от, ти со овој код ќе воспоставиш врска на DataGridView-от со базата
public void loadDataGrid(string sqlQueryString)
{
konekcija.open();
OleDbCommand SQLQuery = new OleDbCommand();
DataTable data = null;
dataGridView1.DataSource = null;
SQLQuery.Connection = null;
OleDbDataAdapter dataAdapter = null;
dataGridView1.Columns.Clear(); // <-- clear columns
//---------------------------------
SQLQuery.CommandText = sqlQueryString;
SQLQuery.Connection = database;
data = new DataTable();
dataAdapter = new OleDbDataAdapter(SQLQuery);
dataAdapter.Fill(data);
dataGridView1.DataSource = data;
dataGridView1.AllowUserToAddRows = false; // remove the null line
dataGridView1.ReadOnly = true;
dataGridView1.Columns[0].Visible = false;
// DataGridView Kolona 1...Име на Филм ###
dataGridView1.Columns[1].Width = 186;
dataGridView1.Columns[1].HeaderText = "Наслов";
// DataGridView Kolona 1...Име на Издавач ###
dataGridView1.Columns[2].HeaderText = "Издавач";
// DataGridView Kolona 3...Гледан ###
dataGridView1.Columns[3].Width = 72;
dataGridView1.Columns[3].HeaderText = "Гледан";
// DataGridView Kolona 4...Гледан ###
dataGridView1.Columns[4].Width = 64;
dataGridView1.Columns[4].HeaderText = "Година";
// DataGridView Kolona 5...Жанр ###
dataGridView1.Columns[5].Width = 81;
dataGridView1.Columns[5].HeaderText = "Жанр";
// insert edit button into datagridview
editButton = new DataGridViewButtonColumn();
editButton.HeaderText = "Промени";
editButton.Text = "Промени";
editButton.UseColumnTextForButtonValue = true;
editButton.Width = 80;
dataGridView1.Columns.Add(editButton);
// insert delete button to datagridview
deleteButton = new DataGridViewButtonColumn();
deleteButton.HeaderText = "Бриши";
deleteButton.Text = "Бриши";
deleteButton.UseColumnTextForButtonValue = true;
deleteButton.Width = 80;
dataGridView1.Columns.Add(deleteButton);
konekcija.close();
}
Значи овој код е за MS Access база, ти само примени го за SQL Server...
Откако ќе го направиш тоа, во OnLoad евентот ќе ја повикаш оваа функција со влезен параметар SQL команда за селектирање на податоците:
Код:
loadDataGrid("select * from table_name");
Значи со ваквиот начин на воспоставување врска со базата, базата е независна од апликацијата и секои промени ќе се зачувуваат, нема да се ресетираат во првобитна состојба како што е случај доколку базата ја додадеш преку визардот.
Исто така ќе направиш и функции за апдејтирање, бришење и слично на записи во базата и по потреба ќе ги ставаш во евенти, зависи што сакаш да направиш.
Незнам вака колку и дали бев јасен, али начинот за да ја направиш базата независна од апликацијата е тој, доколку имаш некој нејасен дел слободно можеш да прашаш, па се надевам дека за истото ќе се најде решение.