C#绑定数据有趣现象!!!

茗香淡然 2014-03-11 06:49:48
建表:Class1

列名:naem,sex,age,address,Email,........。

为表填充数据

放上对应的 textBox 绑定对应列,

然后放上三个textBox 再分别绑定sex address Email...

再放上一个comboBox .三个button


注:下面的dataSet31 为集合,Class1 为表……



[csharp] view plaincopyprint?
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 My_SQL
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
this.BindingContext[this.dataSet31, "Class1"].Position--;
}

private void button2_Click(object sender, EventArgs e)
{
this.BindingContext[this.dataSet31, "Class1"].Position++;
}

private void Form3_Load(object sender, EventArgs e)
{
comboBox1.Items.Clear();
comboBox1.DataSource = dataSet31.Tables["Class1"];
comboBox1.DisplayMember = "Naem";
this.sqlDataAdapter1.Fill(this.dataSet31, 0, 0, "Class1");
}

private void button3_Click(object sender, EventArgs e)
{
int dds = comboBox1.SelectedIndex;
string ds = comboBox1.Text;
SqlConnection con1 = new SqlConnection("Data Source=(local);database=msdb;Integrated Security=SSPI");
SqlCommand cmd = new SqlCommand("select Age,sex,address from Class1 where naem='"+ds+"'", con1);
con1.Open();
SqlDataReader dr=cmd.ExecuteReader();
if (dr.Read())
{
this.textBox7.Text = dr[1].ToString();
this.textBox8.Text = dr[2].ToString();
this.textBox6.Text = dr[0].ToString();
this.BindingContext[this.dataSet31, "Class1"].Position = dds;
}
dr.Close();
con1.Close();
}
}
}


F5运行,试着改变comboBox1的值,再点button3 ,多试几次,看看有什么结果?
请问comboBox1里面的东西这是仲么了……。


试过这个把 this.BindingContext[this.dataSet31,"Class1"].Position =dds; 注掉再试一下看看,


取消 this.BindingContext[this.dataSet31,"Class1"].Position =dds; 的注释


把后面加上的三个textBox 去掉绑定……。再来看一下。


请问这是怎么回事,究竟comboBox1里面的东西那来的???
...全文
157 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
茗香淡然 2014-03-13
  • 打赏
  • 举报
回复
引用 5 楼 ou832339 的回复:
[quote=引用 4 楼 a01589 的回复:] 没仔细研究代码,大致看了下,应该是点击Button3之后触发Page_Load所致,导致重复绑定,应该在Page_Load中加入if(!IsPostBack)判断
非常感谢!! 我弄的是Form1 加了
if (!(comboBox3.DisplayMember == "Naem"))
结贴给分!![/quote] 呃!应该是
if (!(comboBox1.DisplayMember == "Naem"))
-_-!!!
茗香淡然 2014-03-13
  • 打赏
  • 举报
回复
引用 4 楼 a01589 的回复:
没仔细研究代码,大致看了下,应该是点击Button3之后触发Page_Load所致,导致重复绑定,应该在Page_Load中加入if(!IsPostBack)判断
非常感谢!! 我弄的是Form1 加了
if (!(comboBox3.DisplayMember == "Naem"))
结贴给分!!
  • 打赏
  • 举报
回复
没仔细研究代码,大致看了下,应该是点击Button3之后触发Page_Load所致,导致重复绑定,应该在Page_Load中加入if(!IsPostBack)判断
茗香淡然 2014-03-13
  • 打赏
  • 举报
回复
引用 2 楼 chaoyangzhixue 的回复:
数据源里面多了东西而已。
他是怎么跑到里面去的呢,通过什么传值呢?
  • 打赏
  • 举报
回复
数据源里面多了东西而已。
茗香淡然 2014-03-11
  • 打赏
  • 举报
回复
哪位高手见过这现象说来听听……。

110,539

社区成员

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

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

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