Локальна БД у Visual Studio
Створення БД
1. Project -> Add New Item... -> Service-based Database -> Назва -> Add
2. Server Explorer -> Data Conections -> Назва.mdf -> Tables -> Add New Table
3. Створюємо поля:
char і varchar - застарілий ASCII
nchar(10) - зразу резервує 10 символів
nvarchar(10) - потрохи розтягується
такі поля можуть мати 1 - 4000 символів
Первинний ключ: можна переставити на інше поле правою кнопкою миші
Меню справа: автоматичне збільшення первинного ключа на 1
Назва таблиці: [Table] -> [Customers]
4. Update -> Update Database
5. Tables -> Refresh
6. Tables -> Show Table Data - заповнити таблицю
7. Назва.mdf -> Connection String копіюємо: Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\...
8. Properties -> Settings.settings - назви змінних з рядками конекту
Name: cn
Value: Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\...
Для всіх
string sSQL = "SELECT * FROM [dbo].[Table]";
string cn_txt = Properties.Settings.Default.cn;
SqlConnection cn_connection = new SqlConnection(cn_txt);
if (cn_connection.State != ConnectionState.Open)
{
cn_connection.Open();
}
Код 1 - все викачати в об'єкт-таблицю
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(sSQL, cn_connection);
adapter.Fill(table);
foreach (DataRow row in table.Rows)
{
Console.Write(row.Field<int>(0) + " ");
Console.WriteLine(row.Field<string>(1));
}
Код 2 - викачувати по рядках
SqlCommand command = new SqlCommand(sSQL, cn_connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
list.Items.Add(reader[0] + " " + reader[1]);
}
reader.Close();
command.Dispose();
cn_connection.Close();
Код 3 - вставити в таблицю
string sSQL = "INSERT INTO [dbo].[Table](Number, Price, DBO, Gender) VALUES('" + textBoxInt.Text + "','" +
textBoxDouble.Text + "','" +
datePicker.SelectedDate + "','" +
checkBox.IsChecked + "') ";
SqlCommand command = new SqlCommand(sSQL, cn_connection);
command.ExecuteNonQuery();
command.Dispose();
cn_connection.Close();
Data Set - генерує готові поля для форми
https://www.youtube.com/watch?v=_1Hdk5pi8C4