3.发点随便看看
private void button1_Click(object sender, EventArgs e)
{
string ip
//string name
string sql = "Data Source=127.0.0.1initial Catalog=mysqlUser ID=saPassword=cqrb1234"
string sql2 = string.Format("SELECT * FROM IPMASTER")
SqlConnection conn = new SqlConnection(sql)
SqlCommand cmd = new SqlCommand(sql2,conn)
conn.Open()
SqlDataReader sdr = cmd.ExecuteReader()
while (sdr.Read())
{
}
ListView没办法这样干,你用DataGirdView,单击就行了,ListView不能编辑哎,哥们,我也不知道你是不是知道用这个DataGirdView控件,但就要的是题中所说的需求,ListView是一定不行的,写了挺长时间,能不能用得上,希望你读一下。
用DataGirdView大致可以这样实现(我没用三层,只给你说明作用):
1,在你的窗体上拽个DataGirdView出来,起名:如dgvQuestionList
2,在窗体后台代码文件中声明两个全局对象(因为在你修改的时候,还要用这两个对象,所以声明为全局的)
DataSet set = new DataSet("MyQuestion") //用来存放查询结果
SqlDataAdapter sda = null //ADO.NET查询的另一个对象,不知道你用过没有,查询的时候再初始化
3,搞一个查询按键也来超名:如btnSearch,写这个查询按钮的点击事件,具体处理如下:
string sql = "select * from [yourtable] where [your condition]"
//初始化上边声明的SqlDataAdapter对象
this.sda = new SqlAdapter(sql, con) //con是你的数据库连接,到时候换成你的连接对象就行了
this.sda.Fill(set,"Question") //用sda去查询数据库,并把结果保存在上边声明的数据集里
dgvQuestionList.DataSource = set.Tables["Question"] //将查询结果显示到DataGridView上
以上是查询部分,下面说编辑
4,编辑的话,直接在DataGirdView控件上编辑就行了,关键是编辑完成后保存,你需要再来个按钮比如叫btnUpdate
处理这个更新按钮的点击事件,处理过程如下
SqlCommandBuilder builder = new SqlCommandBuilder(this.sda) //把查询时用的SqlDataAdapter对象传过来,SqlCommandBuilder对象将自动为DataAdapter对象生成增删改语句
this.sda.Update(set, "Question") //记DataAdapter对象去执行更新
到此,解决,就是注意,数据库表里一定要有主键,否则不行了
不知道对你是否有帮助,有不明白的可以接着讨论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)