用C#实现将数据库中的两个表的两列分别显示在listBox1和listBox2中

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Da... using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Configuration;
namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) { // TODO: 这行代码将数据加载到表“siplace_kanbanDataSet1.kanbanTable”中。您可以根据需要移动或删除它。 this.kanbanTableTableAdapter.Fill(this.siplace_kanbanDataSet1.kanbanTable); BindListBox1(); //BindListBox2(); }
//设定ListBox控件显示内容 public void BindListBox1() { string sql1 = "select lId,dtTime from BOARD"; string sql2 = "select dtTime from CompBlock"; listBox1.DataSource = GetData1(sql1).Tables[0]; listBox1.DisplayMember = "lId"; listBox2.DataSource = GetData2(sql2).Tables[1]; listBox2.DisplayMember = "dtTime"; }
/*public void BindListBox2() { string sql2 = "select dtTime from CompBlock"; listBox2.DataSource = GetData2(sql2); listBox2.DisplayMember = "dtTime"; }*/
private DataSet GetData1(string sql) { DataSet table1 = new DataSet(); String connectionString = "Data Source=SZNC4924;" + "Initial Catalog=OIS1;User ID=sa;Password=Siplace.1"; SqlConnection conn = new SqlConnection(connectionString); SqlDataAdapter dataAdapter1 = new SqlDataAdapter(sql,conn); dataAdapter1.Fill(table1); return table1; }
private DataSet GetData2(string sql) { DataSet table2 = new DataSet(); String connectionString = "Data Source=SZNC4924;" + "Initial Catalog=OIS1;User ID=sa;Password=Siplace.1"; SqlConnection conn = new SqlConnection(connectionString); SqlDataAdapter dataAdapter2 = new SqlDataAdapter(sql, conn); dataAdapter2.Fill(table2); return table2; } }
}
出现的结果为

listBox1有显示,但listBox2没有,为什么?
展开
 我来答
百度网友2436015
2013-09-06
知道答主
回答量:29
采纳率:0%
帮助的人:18万
展开全部
listBox2.DataSource = GetData2(sql2).Tables[1];
listBox2.DisplayMember = "dtTime";
首先: Tables[1],改成Tables[0]。
没数据的话,把语句“select dtTime from CompBlock”在数据库执行一下,看有没有数据结果。

看一下listBox2控件的属性是不是有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Luqian_2012
2013-09-06
知道答主
回答量:20
采纳率:0%
帮助的人:7.4万
展开全部
listBox2.DataSource = GetData2(sql2).Tables[1]; 也要取Tables[0]中的数据
追问
我试过  也不行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友af5f7eb
2013-09-06 · TA获得超过158个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:93.4万
展开全部
GetData2(sql2).Tables[1] 改为 GetData2(sql2).Tables[0];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
240474246
2013-09-06 · 超过31用户采纳过TA的回答
知道答主
回答量:162
采纳率:0%
帮助的人:61.6万
展开全部
BindListBox1();
//BindListBox2();
你加载事件里都注释掉了,你觉得会有吗?
追问
那是我将两个合并到BindListBox1();中了啊
追答
listBox2.DataSource = GetData2(sql2).Tables[1];
改成
listBox2.DataSource = GetData2(sql2).Tables[0];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式