Создание Datagridview во время выполнения - PullRequest
2 голосов
/ 28 декабря 2011

Я в конце веревки ...

Я беру значение из dateTimePicker и выполняю SQL-запрос на основе значения из dateTimePicker.Результат запроса должен отображаться в Datagridview после его выполнения.

Вот код, который я сделал до сих пор:

namespace App1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            DateTime varDate;
            varDate = dateTimePicker1.Value; 
              }


        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=SUBASH-LAPTOP\COBRA;Initial Catalog=Test;Integrated Security=True");

            SqlCommand Command = con.CreateCommand();

            Command.CommandText = "Select * From orders where date_purchased <= @varDate ";

            con.Open();

            SqlDataReader reader = Command.ExecuteReader();

            DataSet ds = new DataSet();
            DataTable dt = ds.Tables.Add(); 
            DataGridView d1 = new DataGridView();
            this.Controls.Add(d1);
            while (reader.Read())
            {
                d1.DataSource = ds.Tables[0];

       }    

    }
}

Я довольно неопытен с c #, поэтому любые ответы будутБуду признателен.

Пожалуйста, помогите.

Спасибо,

Субаш

Ответы [ 4 ]

2 голосов
/ 28 декабря 2011

используйте этот код:

private void button1_Click(object sender, EventArgs e)
{

    SqlConnection con = new SqlConnection(@"Data Source=SUBASH-LAPTOP\COBRA;Initial Catalog=Test;Integrated Security=True");

    SqlCommand Command = con.CreateCommand();

    SqlDataAdapter dp = new SqlDataAdapter("Select * From orders where date_purchased <= @varDate", con);
    dp.SelectCommand.Parameters.AddWithValue("@varDate", dateTimePicker1.Value);
    DataSet ds = new DataSet();
    dp.Fill(ds);
    DataGridView d1 = new DataGridView();
    d1.DataSource = ds;
    d1.DataMember = ds.Tables[0].TableName;
    this.Controls.Add(d1);

}    
2 голосов
/ 28 декабря 2011

Проверьте ссылку ниже:

Как: привязать данные к элементу управления Windows Forms DataGridView

объект DataGridView считывает данные из «источника привязки»Вы должны связать это с TableAdapter, который содержит ваш оператор SQL SELECT.

Вы примерно на 1/2 пути вперед.Правильно работающая строка подключения - полдела.Другая половина выясняет, где находятся ваши данные относительно DatagridView.

Удачи!

1 голос
/ 28 декабря 2011

как я видел твой код, тебе не хватает присвоения значения параметра,

 Command.CommandText = "Select * From orders where date_purchased <= @varDate ";

после этой строки вы должны указать значение параметра для объекта команды.

Command.Parameters.AddWithValue("@varDate", DateTimePicker1.Value);
1 голос
/ 28 декабря 2011

Вы должны добавить параметр в SqlCommand для его использования:

Command.Parameters.AddWithValue("@varDate", DateTimePicker1.Value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...