Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
shevcov
5 / 5 / 1
Регистрация: 12.07.2012
Сообщений: 60
1

установка соединения, отображение информации из таблицы

12.07.2012, 21:03. Просмотров 906. Ответов 5
Метки нет (Все метки)

здравствуйте.
имеется sql БД: PRIMER
устонавливаю соединение так: SqlConnection clientConn = new SqlConnection(@"Data Source=.\SQLEXPRESS; Initial Catalog=PRIMER; Trusted_Connection=Yes");

вопрос: как вывести содержимое определённой таблицы из базы в dataGridView1.
и если возможно сделать чтобы на этапе выполнения прогрраммы можно было выбрать эту базу(например при изменении её места расположения).
заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2012, 21:03
Ответы с готовыми решениями:

Отображение информации из связанной таблицы которая находитс на другой форме
Имеются две формы. На 1 главная таблица, на 2 дочерние таблицы. Нужно чтобы при...

Отображение информации
Здравствуйте, мне надо заполнить табличку идентификаторами в данном примере Id...

Отображение информации из БД в реальном времени
Здравствуйте. Вопрос следующий... В БД поступают данные по топливу каждые...

Отображение информации об аудио файле
Я только начал изучение C# и появилась необходимость отобразить информацию об...

Динамическое отображение информации из ячейки БД в TextBox
Подключена БД к dataGridView,отображается нормально.Нужно при выборе...

5
viktorrrr
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
12.07.2012, 21:53 2
Сделай функцию для чтения из базы, которая, к примеру, возвращает ArrayList
что-то типа
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public ArrayList ReadBase()
{
     ArrayList read=new ArrayList();
      string comanda="Select * From Ваша таблица";
      SqlCommand com = new SqlCommand(comanda);
      clientConn.Open();
      SqlDataReader dr = com.ExecuteReader();
                foreach (DbDataRecord rec in dr)
                    read.Add(rec);
 
            }
            return read;
      
}
Потом всю эту байду засунешь куда надо
C#
1
datagridview1.DataSource=ReadBase();
Ну как-то так. Это все потом в конструктор сразу можно засунуть, чтобы сразу во время включения отображалось

Не забудь подключение закрыть. clientConn.Close();
1
shevcov
5 / 5 / 1
Регистрация: 12.07.2012
Сообщений: 60
14.07.2012, 20:21  [ТС] 3
странно. у меня показывает ошибку на ArrayList

Добавлено через 8 часов 36 минут
Цитата Сообщение от viktorrrr Посмотреть сообщение
Сделай функцию для чтения из базы, которая, к примеру, возвращает ArrayList
что-то типа
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public ArrayList ReadBase()
{
     ArrayList read=new ArrayList();
      string comanda="Select * From Ваша таблица";
      SqlCommand com = new SqlCommand(comanda);
      clientConn.Open();
      SqlDataReader dr = com.ExecuteReader();
                foreach (DbDataRecord rec in dr)
                    read.Add(rec);
 
            }
            return read;
      
}
Потом всю эту байду засунешь куда надо
C#
1
datagridview1.DataSource=ReadBase();
Ну как-то так. Это все потом в конструктор сразу можно засунуть, чтобы сразу во время включения отображалось

Не забудь подключение закрыть. clientConn.Close();

я сделал так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;
using System.Data.SqlClient;
using System.Data.Common;
 
namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        SqlConnection clientConn = new SqlConnection(@"Data Source=.\SQLEXPRESS; Initial Catalog=PRIMER; Trusted_Connection=Yes");
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.DataSource = ReadBase();
            clientConn.Close();
        }
        public ArrayList ReadBase()
{
     ArrayList read=new ArrayList();
      string comanda="Select * From osntable";
      SqlCommand com = new SqlCommand(comanda);
      com.Connection = clientConn;
      com.Connection.Open();
      SqlDataReader dr = com.ExecuteReader();
                foreach (DbDataRecord rec in dr)
                    read.Add(rec);
                //clientConn.Open();
                return read;
 
            }
            
   
}
    }
но ничего не получилось
почему ?
0
viktorrrr
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
14.07.2012, 21:55 4
как минимум, сначала пытаешь работать с базой данных, не подключившись к нему, а потом подключаешься. Ошибку еще давай. Я вообще не уверен в правильности твоего кода. Терзают смутные сомнения
1
shevcov
5 / 5 / 1
Регистрация: 12.07.2012
Сообщений: 60
14.07.2012, 22:21  [ТС] 5
код проходит компиляцию нормально. но после запуска приложения и нажатия на кнопку ничего не происходит

Добавлено через 22 минуты
все я сделал:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
string connectionstring ="Data Source=(local)\\SQLEXPRESS;Initial Catalog=PRIMER;Integrated Security=True";
 
       
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(connectionstring);
            string sql = "select*from osntable";
            SqlDataAdapter da = new SqlDataAdapter(sql,conn);
            DataSet ds = new DataSet();
            conn.Open();
            da.Fill(ds, "osntable");
            foreach (DataRow row in ds.Tables["osntable"].Rows) ;
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = ds.Tables["osntable"];
            conn.Close();
            dataGridView1.Update();
0
viktorrrr
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
14.07.2012, 22:34 6
Странно.
C#
1
2
3
4
5
6
public Form1()
{
InitializeComponent();
dataGridView1.DataSource = ReadBase();//сюда тоже воткни
 
}
Я бы сделал так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
я сделал так:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;
using System.Data.SqlClient;
using System.Data.Common;
 
namespace WindowsFormsApplication8
{
public partial class Form1 : Form
{
         SqlConnection clientConn = new SqlConnection(@"Data Source=.\SQLEXPRESS; Initial                         Catalog=PRIMER;  Trusted_Connection=Yes");  
 
public Form1()
{
       InitializeComponent();
       ReadBase();
}
 
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = ReadBase();
clientConn.Close();
}
public ArrayList ReadBase()
{
ArrayList read=new ArrayList();
string comanda="Select * From osntable";
SqlCommand com = new SqlCommand(comanda);
clientConn.Open();
SqlDataReader dr = com.ExecuteReader();
foreach (DbDataRecord rec in dr)
read.Add(rec);
 
return read;
 
}
 
 
}
}
Как-то так Ты мой пример внимательно не посмотрел. А вооббще уровень подключения лучше выводить в отедльный класс. А то какой-то бирдымлык в коде)). Даж такой простенький код смотрится жутко. И еще. Тут можно форматировать код.
1
14.07.2012, 22:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2012, 22:34

Отображение информации из БД в textbox и навигация по записям
Здравствуйте! Создал вот такую форму: И создал вот такую таблицу с тремя...

Отображение картографической, word-овой и excel - информации
Есть база данных. Какие варианты есть по клику на записи показывать...

БД и просмотр информации из таблицы
Начал изучать С# и попытался создать программу в которой можно вести учет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru