C#winform,查询sql数据库并显示在datagridview里

zodiachAries 2016-02-18 04:39:00
小弟最近在自学C#,然后现在自己琢磨着做个小的查询系统,大概如图
现在的问题就是,选择了查询方式之后,查询并不显示数据,分布运行也没有报错,大侠们来帮看看~
下边是查询button代码
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=LENOVO-PC;Initial Catalog=Passenger;Integrated Security=True";
conn.Open();
if (radioButton1.Checked == true)
{
DateTime.Now.ToString("yyyy-MM-dd");
DateTime dt0 = DateTime.Now;
SqlDataAdapter sda = new SqlDataAdapter("select * from SecurityCheck where InspectionBegin = '"+dt0+"'", conn);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds;
}
if (radioButton2.Checked == true)
{
System.DateTime currentTime = new System.DateTime();
int 时 = currentTime.Hour;
int 分 = currentTime.Minute;
int 秒 = currentTime.Second;
DateTime.Now.ToString("yyyy-MM-dd HH:MM:SS");
DateTime dt0 = DateTime.Now;
DateTime dt1 = dt0.AddHours(-2.0);
SqlDataAdapter sda = new SqlDataAdapter("select * from SecurityCheck where InspectionBegin = '"+dt1+"' ",conn);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds;
}
if (radioButton3.Checked == true)
{
SqlDataAdapter sda = new SqlDataAdapter("select * from SecurityCheck where InspectionBegin='"+dateTimePicker1.Text+"'and InspectionOut='"+dateTimePicker2.Text+"'", conn);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds;
}
conn.Close();
}
...全文
2585 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37510913 2019-05-13
  • 打赏
  • 举报
回复
添加一个datagridview.DataMember=SecurityCheck语句就可以显示了😁
eaqpi 2019-05-11
  • 打赏
  • 举报
回复
日期不应该用=,用datedeff!
eaqpi 2019-05-11
  • 打赏
  • 举报
回复
少了个单引号!!
keeperhr 2019-05-11
  • 打赏
  • 举报
回复
请问,您使用Fill方法时添加的程序集引用是什么呢?我在做查询界面时这个语句报错,提示没有找到引用,还请赐教!
iiihavedone 2017-04-21
  • 打赏
  • 举报
回复
5楼7楼正解 学习了
leeya66 2016-02-20
  • 打赏
  • 举报
回复
要分层设计。先写一个SQL类,然后给他参数,也就是SQL语句,返回dadatable
qq_16760875 2016-02-19
  • 打赏
  • 举报
回复
绑定数据,并且设置列,然后遍历
一支糖包仔 2016-02-19
  • 打赏
  • 举报
回复
你虽然给DataGrid绑定了数据,但是DataGrid里面并没有列。你可以试试右键给DataGrid的Columns属性里面添加列,属性“数据源”和你查出来的数据列名一样。
zodiachAries 2016-02-18
  • 打赏
  • 举报
回复
引用 8 楼 oysy 的回复:
MyAdapte是你的sda
现在应该是ds没有数据的问题,我再翻翻书,看看怎么弄
飞天凤凰601 2016-02-18
  • 打赏
  • 举报
回复
这几句修改一下: DataSet ds = new DataSet(); sda.Fill(ds); dataGridView1.DataSource = ds; ----- 修改为: DataTable MyTable = new DataTable(); MyAdapter.Fill(MyTable) dataGridView1.DataSource = MyTable; 修改后,你看看
飞天凤凰601 2016-02-18
  • 打赏
  • 举报
回复
MyAdapte是你的sda
exception92 2016-02-18
  • 打赏
  • 举报
回复
引用 3 楼 u013370452 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] 设置dataGridView1 中的列了么?绑定对应的fileName了么? 先调试看看,ds 中有数据没
我觉得也应该是ds中没有数据,是因为我没有用dataset绑定的问题么[/quote] 你只要确定 ds中有数据, dataGridView1.DataSource = ds -》 dataGridView1.DataSource = ds.Tables[0];
zodiachAries 2016-02-18
  • 打赏
  • 举报
回复
引用 1 楼 xdashewan 的回复:
dt0改成dt0.ToString("yyyy-MM-dd");,DateTime.Now.ToString("yyyy-MM-dd");并不能改变DateTime.Now的格式
没明白您的意思,是在select from那里改么。原来DateTime.Now.ToString("yyyy-MM-dd");并不能改变DateTime.Now的格式了解了
zodiachAries 2016-02-18
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
设置dataGridView1 中的列了么?绑定对应的fileName了么? 先调试看看,ds 中有数据没
我觉得也应该是ds中没有数据,是因为我没有用dataset绑定的问题么
exception92 2016-02-18
  • 打赏
  • 举报
回复
设置dataGridView1 中的列了么?绑定对应的fileName了么? 先调试看看,ds 中有数据没
xdashewan 2016-02-18
  • 打赏
  • 举报
回复
dt0改成dt0.ToString("yyyy-MM-dd");,DateTime.Now.ToString("yyyy-MM-dd");并不能改变DateTime.Now的格式

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧