c#listboxt如何显示数据库的内容?

 我来答
我有有好多问题
2011-06-28 · TA获得超过488个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:181万
展开全部
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace MyWindows
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
LoadListBox();
}

/// <summary>
/// 加载listbox
/// </summary>
private void LoadListBox()
{
IList<Student> list = GetData();
if (list.Count > 0) listBox1.Items.Clear();//如果集合数据大于0条,清除原有的listbox项
foreach (Student s in list)
{
listBox1.Items.Add(s);//此处加的虽然是实体对象,但是咱们已经重写的tostring方法,所以显示的还是为姓名
}
}

/// <summary>
/// 获取数据,此处模拟从数据库拿到得数据
/// </summary>
private IList<Student> GetData()
{
IList<Student> list = new List<Student>();
Student s1 = new Student(1, "张三", true);
Student s2 = new Student(2, "李四", true);
Student s3 = new Student(3, "王五", false);
Student s4 = new Student(4, "赵六", true);
Student s5 = new Student(5, "侯七", false);
list.Add(s1);
list.Add(s2);
list.Add(s3);
list.Add(s4);
list.Add(s5);
return list;
}
}

public class Student
{
/// <summary>
/// 学生ID
/// </summary>
private int id;

public int Id
{
get { return id; }
set { id = value; }
}
/// <summary>
/// 学生姓名
/// </summary>
private string name;

public string Name
{
get { return name; }
set { name = value; }
}
/// <summary>
/// 学生性别
/// </summary>
private bool gender;

public bool Gender
{
get { return gender; }
set { gender = value; }
}

public Student(int id, string name, bool gender)
{
this.id = id;
this.name = name;
this.gender = gender;
}

/// <summary>
/// 重写ToString方法,返回学生姓名
/// </summary>
/// <returns></returns>
public override string ToString()
{
return name;
}
}
}
这样写的好处在于,当选中某项时,实际拿到的是实体对象本身。
listBox1.DataSource = 数据源;
这样也可以加载,不过灵活性不高
自己理解下。希望对你有用
t84gogogo
2011-06-27
知道答主
回答量:30
采纳率:0%
帮助的人:17.4万
展开全部
大致上和list一样的,都是指定数据源(DataSource),然后绑定数据源(DataBind).
更多追问追答
追问
能不能具体一些?
追答
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;//导入命名空间

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

private void Form1_Load(object sender, EventArgs e)
{
//数据库链接
string connectionStr = "server=.;database=demo;uid=sa;pwd=sa";//链接数据库的字符串
SqlConnection connection = new SqlConnection(connectionStr);//创建数据库链接

//从数据中读取数据
SqlDataAdapter sda = new SqlDataAdapter("select name from item",connection);
DataSet ds = new DataSet("proc");
sda.Fill(ds,"proc");//将数据源指向dataset中

//绑定数据源
listBox1.DataSource = ds;
}
}
}

有时间的话 我们QQ聊:1366195575
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
y656977750
2011-06-27 · TA获得超过545个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:138万
展开全部
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;//导入命名空间

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

private void Form1_Load(object sender, EventArgs e)
{
//数据库链接
SqlConnection con =new SqlConnection( "server=localhost;database=db;uid=sa;pwd=");
//从数据中读取数据
SqlDataAdapter sda = new SqlDataAdapter("select name from stu",con);
DataSet ds = new DataSet();
sda.Fill(ds);//将数据源指向dataset中

//绑定数据源
listBox1.DataSource = ds.DefaultView;
listBox1.DataBind();
}
}
}
追问
这个和上面的也是差不多呀,感谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式