运行时创建Datagridview
本文关键字:Datagridview 创建 运行时 | 更新日期: 2023-09-27 18:19:07
我已经忍无可忍了…
我正在从dateTimePicker中获取值,我正在执行基于dateTimePicker值的SQL查询。查询的结果应该在执行查询后显示在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#相当缺乏经验,所以任何答案都是非常感谢的。
请帮助。
谢谢,
Subash
使用以下代码:
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);
}
查看下面的链接:
如何:将数据绑定到Windows窗体DataGridView控件
DataGridView对象从"绑定源"读取数据,你必须将其链接到包含SQL SELECT语句的TableAdapter。
你已经走了一半了。使连接字符串正常工作是成功的一半。另一半是找出你的数据相对于DatagridView在哪里。
祝你好运!
您必须将参数添加到SqlCommand
才能使用:
Command.Parameters.AddWithValue("@varDate", DateTimePicker1.Value);
当我看到你的代码时,你缺少参数值的赋值,
Command.CommandText = "Select * From orders where date_purchased <= @varDate ";
在这行之后,您必须为命令对象提供参数值。
Command.Parameters.AddWithValue("@varDate", DateTimePicker1.Value);