1

Тема: C#+ SQL server. Як отримати та відобразити цілу таблицю?

Привіт. Ну от я знаю як зробити запит та отримати інфу

Прихований текст
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace sql
{
    public partial class Form1 : Form
    {
        SqlConnection cnn = new SqlConnection(@"Data Source=localhost; Initial Catalog = course; Integrated Security=SSPI;");
        public Form1()
        {
            InitializeComponent();
        }

        private void btnConnect_Click(object sender, EventArgs e)
        {
            
            try
            {
                cnn.Open();
                rtbErrors.AppendText("Connection open!\n");
                string queryString = "select name from Books where id=1";
                SqlCommand command = new SqlCommand(queryString,cnn);
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    rtbErrors.AppendText(reader[0]+"\n");
                }
                reader.Close();
                cnn.Close();
            }
            catch (Exception ex)
            {
                rtbErrors.AppendText(ex.Message+"\n");
            }
        }
    }
}

Але якщо я буду використовувати всілякі inner join i т.д., то отримані данні можуть бути різними ж, як зробити так, щоб, наприклад, роблю я крутий запит до БД, а там повертається така здорова таблиця, і я не зчитую данні по одному, а відразу беру цю таблицю і відображаю в формі?

2

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

DataGridView не?

3 Востаннє редагувалося FakiNyan (26.08.2013 13:25:36)

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

koala написав:

DataGridView не?

ну я так і думав, але є проблема. Коли я обираю "Источник данных", а саме файл бази даних, то мені вилазить така помилка https://не-дійсний-домен/4bf4R.png
SQL server management закритий, я навіть сам SQL Server перезапускав в Службах, але це не допомгло ,в чому може бути проблема??

4

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

а уже все ок, треба було спочатку вимкнути сервер, потім взяти той файл, потім знову ввімкнути сервер.

5

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

АААА, але тепер я не можу відкрити БД в SQL server management
https://не-дійсний-домен/4bfFV.png
от що вилазить, коли відкриваю її https://не-дійсний-домен/4bfHe.png

6

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

перезавантажив комп - все норм. Але є декілька питань щодо DataGridView. Як створити з'єднання з БД, щоб виконувати всілякі штуки дрюки типу запитів. Я пробував ось так

 public partial class Form1 : Form
    {
        SqlConnection cnn;

        public Form1()
        {
            InitializeComponent();
            cnn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\course.mdf;Integrated Security=True;Connect Timeout=30");//@"Data Source=localhost; Initial Catalog = course; Integrated Security=SSPI;");
        }

        private void btnConnect_Click(object sender, EventArgs e)
        {
            DataSet dataSet = new DataSet();
            SqlCommand sqlCommand = new SqlCommand("exec SP_InsertBook" +
                                                   "@NameBook='книга 3'," +
                                                   "@Genre='история'," +
                                                   "@AuthorName='Василь'," +
                                                   "@AuthorSurname='Васильович'");
            /* SqlParameter bookName = new SqlParameter("@NameBook",SqlDbType.VarChar);
             SqlParameter genre = new SqlParameter("@NameGenre",SqlDbType.VarChar);
             SqlParameter authorName = new SqlParameter("@AuthorName", SqlDbType.VarChar);
             SqlParameter authorSurname = new SqlParameter("@AuthorSurname", SqlDbType.VarChar);
             bookName.Value = "книга 3";
             genre.Value = "история";
             authorName.Value = "Васька";
             authorSurname.Value = "Васильович";
             sqlCommand.Parameters.Add(bookName);
             sqlCommand.Parameters.Add(genre);
             sqlCommand.Parameters.Add(authorName);
             sqlCommand.Parameters.Add(authorSurname);*/
            cnn.Open();
            sqlCommand.ExecuteNonQuery();
            cnn.Close();
            this.authorsTableAdapter.Fill(this.courseDataSet.Authors);
        }

але мені писало, що об'єкт connection не був ініціалізований.

7

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

всее, розібрався завдяки одному відео

8

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

Чи не краще робити підключення до SQL сервера, а не підключати файл бази до програми?
в другому випадку доведеться тягати базу з програмою

Подякували: RazorRunner1

9

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

smiler написав:

Чи не краще робити підключення до SQL сервера, а не підключати файл бази до програми?
в другому випадку доведеться тягати базу з програмою

так я так і роблю, я ж кажу, що знайшов одне супер відео, де показано, як підключитись  саме до серверу, і отримати потрібну інформацію, і відобразити її хД

10

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

Поглянь в сторону технології MVVM. є бібліотека MVVM Light toolkit.
Вона якраз має можливість відображенням моделей, які формуються з таблиць в бд. Тобто можна одразу в декількох грідах(різних) відображати одні і ті дані. І якщо змінювати дані в одному із них, то тоді автоматично зміниться і в інших. Все завдяки ObservableCollection. Досить класна штука.
Надіюсь я правильно зрозумів суть питання?

11

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

muhasjo написав:

Поглянь в сторону технології MVVM. є бібліотека MVVM Light toolkit.
Вона якраз має можливість відображенням моделей, які формуються з таблиць в бд. Тобто можна одразу в декількох грідах(різних) відображати одні і ті дані. І якщо змінювати дані в одному із них, то тоді автоматично зміниться і в інших. Все завдяки ObservableCollection. Досить класна штука.
Надіюсь я правильно зрозумів суть питання?

да воно мені таке й непотрібно, я нічого не питав. я вже давно розібрався зі своєю проблемою, чи ви не читаєте тему? А-то знайшов рішення, а через тиждень хтось ще щось пише та радить

12

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

TRYCUKI_V_KROVI написав:
muhasjo написав:

Поглянь в сторону технології MVVM. є бібліотека MVVM Light toolkit.
Вона якраз має можливість відображенням моделей, які формуються з таблиць в бд. Тобто можна одразу в декількох грідах(різних) відображати одні і ті дані. І якщо змінювати дані в одному із них, то тоді автоматично зміниться і в інших. Все завдяки ObservableCollection. Досить класна штука.
Надіюсь я правильно зрозумів суть питання?

да воно мені таке й непотрібно, я нічого не питав. я вже давно розібрався зі своєю проблемою, чи ви не читаєте тему? А-то знайшов рішення, а через тиждень хтось ще щось пише та радить

Я тільки недавно на форумі.
А хіба закрити тему неможна, щоб не висіла відкритою, а то якось негуд. Зайшов у "нові повідомлення", побачив і відповів.

13

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

Може бути якесь доповнення чи щось таке. Тема може бути корисною не тільки топікстартеру, може ще комусь знадобиться. Хоча модераторів нам дійсно не вистачає.

14

Re: C#+ SQL server. Як отримати та відобразити цілу таблицю?

було б не погано приклеїти якись значок, типу - "Вирішено!"

Подякували: Chemist-i1