我的上一条,下一条,首记录,未记录语句如下:但不知道问题出在哪里?请帮助解决,还有,我查询的界面第一次查询可以,第二次查询就出现说记录集重复?我在查询语句后也close,dispose了,怎么解决问题:
private void button4_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position = 0;
} private void button5_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position -= 1;
} private void button6_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position += 1;
} private void button7_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Count -1 ;提示错误信息:
D:\My Documents\Visual Studio Projects\compu\Form3.cs(649): 名称“dt”在类或命名空间“compu.Form3”中不存在
private void button4_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position = 0;
} private void button5_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position -= 1;
} private void button6_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position += 1;
} private void button7_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Count -1 ;提示错误信息:
D:\My Documents\Visual Studio Projects\compu\Form3.cs(649): 名称“dt”在类或命名空间“compu.Form3”中不存在
private void button2_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void comboBox2_Click(object sender, System.EventArgs e)
{
} private void comboBox2_SelectedIndexChanged_1(object sender, System.EventArgs e)
{
} private void comboBox2_Click_1(object sender, System.EventArgs e)
{
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
textBox5.Text="";
textBox6.Text="";
textBox7.Text="";
textBox8.Text="";
textBox9.Text="";
textBox10.Text="";
textBox11.Text="";
if (comboBox1.SelectedIndex < 0)
{
MessageBox.Show("请选择查找类型!");
comboBox1.Focus();
}
else
try
{
if (comboBox1.SelectedIndex == 0 )
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter ad=new SqlDataAdapter("select dept from computer group by dept",conn);
DataSet dt=new DataSet();
ad.Fill(dt,"computer");
comboBox2.DataSource=dt.Tables["computer"];
comboBox2.DisplayMember="dept";
comboBox2.ValueMember="dept";
conn.Close();
conn.Dispose();
}
else
if (comboBox1.SelectedIndex == 1 )
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter ad=new SqlDataAdapter("select dno from computer group by dno",conn);
DataSet dt=new DataSet();
ad.Fill(dt,"computer");
comboBox2.DataSource=dt.Tables["computer"];
comboBox2.DisplayMember="dno";
comboBox2.ValueMember="dno";
conn.Close();
conn.Dispose();
}
else
if (comboBox1.SelectedIndex == 2 )
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter ad=new SqlDataAdapter("select dname from computer group by dname",conn);
DataSet dt=new DataSet();
ad.Fill(dt,"computer");
comboBox2.DataSource=dt.Tables["computer"];
comboBox2.DisplayMember="dnname";
comboBox2.ValueMember="dname";
conn.Close();
conn.Dispose();
}
}
catch
{
MessageBox.Show("操作失败!");
}
}
楼主,把你的 dt 做为全局变量!!!!!!!!!!!!!!!
{
DataGridTableStyle mytable=new DataGridTableStyle();
mytable.MappingName="computer";
DataGridTextBoxColumn columnstyle1=new DataGridTextBoxColumn(); columnstyle1.MappingName="dept";
columnstyle1.HeaderText="部门";
columnstyle1.Width=80;
columnstyle1.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle1);
DataGridTextBoxColumn columnstyle2=new DataGridTextBoxColumn(); columnstyle2.MappingName="dno";
columnstyle2.HeaderText="电脑编号";
columnstyle2.Width=60;
columnstyle2.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle2);
DataGridTextBoxColumn columnstyle3=new DataGridTextBoxColumn(); columnstyle3.MappingName="dname";
columnstyle3.HeaderText="电脑名称";
columnstyle3.Width=60;
columnstyle3.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle3);
DataGridTextBoxColumn columnstyle4=new DataGridTextBoxColumn(); columnstyle4.MappingName="cuser";
columnstyle4.HeaderText="英文名称";
columnstyle4.Width=60;
columnstyle4.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle4);
DataGridTextBoxColumn columnstyle5=new DataGridTextBoxColumn(); columnstyle5.MappingName="puser";
columnstyle5.HeaderText="中文名称";
columnstyle5.Width=60;
columnstyle5.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle5);
DataGridTextBoxColumn columnstyle6=new DataGridTextBoxColumn(); columnstyle6.MappingName="moniter";
columnstyle6.HeaderText="显示器";
columnstyle6.Width=90;
columnstyle6.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle6);
DataGridTextBoxColumn columnstyle7=new DataGridTextBoxColumn(); columnstyle7.MappingName="cpu";
columnstyle7.HeaderText="cpu";
columnstyle7.Width=70;
columnstyle7.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle7);
DataGridTextBoxColumn columnstyle8=new DataGridTextBoxColumn(); columnstyle8.MappingName="hd";
columnstyle8.HeaderText="硬盘";
columnstyle8.Width=70;
columnstyle8.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle8);
DataGridTextBoxColumn columnstyle9=new DataGridTextBoxColumn(); columnstyle9.MappingName="sd";
columnstyle9.HeaderText="内存";
columnstyle9.Width=60;
columnstyle9.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle9);
DataGridTextBoxColumn columnstyle10=new DataGridTextBoxColumn(); columnstyle10.MappingName="mk";
columnstyle10.HeaderText="显卡";
columnstyle10.Width=80;
columnstyle10.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle10);
DataGridTextBoxColumn columnstyle11=new DataGridTextBoxColumn(); columnstyle11.MappingName="ip";
columnstyle11.HeaderText="IP";
columnstyle11.Width=90;
columnstyle11.Alignment=HorizontalAlignment.Center;
mytable.GridColumnStyles.Add(columnstyle11);
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(mytable);
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
textBox5.Text="";
textBox6.Text="";
textBox7.Text="";
textBox8.Text="";
textBox9.Text="";
textBox10.Text="";
textBox11.Text="";
//this.Dispose();
//SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
//conn.Close();
if ((comboBox1.SelectedIndex < 0) | (comboBox2.SelectedIndex < 0)) {
MessageBox.Show("请选择查询大类或小类的条件!");
comboBox1.Focus();
}
else
try
{
if (comboBox1.SelectedIndex == 0)
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter ad=new SqlDataAdapter("select dept,dno,dname,cuser,puser,moniter,cpu,hd,sd,mk,ip from computer where dept='"+comboBox2.Text+"'",conn);
DataSet dt=new DataSet();
ad.Fill(dt,"computer");
dataGrid1.DataSource=dt;
dataGrid1.SetDataBinding(dt,"computer");
textBox1.DataBindings.Add("text",dt,"computer.dept");
textBox2.DataBindings.Add("text",dt,"computer.dno");
textBox3.DataBindings.Add("text",dt,"computer.dname");
textBox4.DataBindings.Add("text",dt,"computer.cuser");
textBox5.DataBindings.Add("text",dt,"computer.puser");
textBox6.DataBindings.Add("text",dt,"computer.moniter");
textBox7.DataBindings.Add("text",dt,"computer.cpu");
textBox8.DataBindings.Add("text",dt,"computer.hd");
textBox9.DataBindings.Add("text",dt,"computer.sd");
textBox10.DataBindings.Add("text",dt,"computer.mk");
textBox11.DataBindings.Add("text",dt,"computer.ip");
conn.Close();
conn.Dispose();
}
else if (comboBox1.SelectedIndex == 1)
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter ad=new SqlDataAdapter("select dept,dno,dname,cuser,puser,moniter,cpu,hd,sd,mk,ip from computer where dno='"+comboBox2.Text+"'",conn); DataSet dt=new DataSet(); ad.Fill(dt,"computer");
dataGrid1.DataSource=dt;
dataGrid1.SetDataBinding(dt,"computer");
//this.BindingContext[dt].Position = 0;
textBox1.DataBindings.Add("text",dt,"computer.dept");
textBox2.DataBindings.Add("text",dt,"computer.dno");
textBox3.DataBindings.Add("text",dt,"computer.dname");
textBox4.DataBindings.Add("text",dt,"computer.cuser");
textBox5.DataBindings.Add("text",dt,"computer.puser");
textBox6.DataBindings.Add("text",dt,"computer.moniter");
textBox7.DataBindings.Add("text",dt,"computer.cpu");
textBox8.DataBindings.Add("text",dt,"computer.hd");
textBox9.DataBindings.Add("text",dt,"computer.sd");
textBox10.DataBindings.Add("text",dt,"computer.mk");
textBox11.DataBindings.Add("text",dt,"computer.ip"); conn.Close();
conn.Dispose();
}
else if (comboBox1.SelectedIndex == 2)
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlDataAdapter ad=new SqlDataAdapter("select dept,dno,dname,cuser,puser,moniter,cpu,hd,sd,mk,ip from computer where dname='"+comboBox2.Text+"'",conn);
DataSet dt=new DataSet();
ad.Fill(dt,"computer");
dataGrid1.DataSource=dt;
dataGrid1.SetDataBinding(dt,"computer");
textBox1.DataBindings.Add("text",dt,"computer.dept");
textBox2.DataBindings.Add("text",dt,"computer.dno");
textBox3.DataBindings.Add("text",dt,"computer.dname");
textBox4.DataBindings.Add("text",dt,"computer.cuser");
textBox5.DataBindings.Add("text",dt,"computer.puser");
textBox6.DataBindings.Add("text",dt,"computer.moniter");
textBox7.DataBindings.Add("text",dt,"computer.cpu");
textBox8.DataBindings.Add("text",dt,"computer.hd");
textBox9.DataBindings.Add("text",dt,"computer.sd");
textBox10.DataBindings.Add("text",dt,"computer.mk");
textBox11.DataBindings.Add("text",dt,"computer.ip"); conn.Close();
conn.Dispose();
}
}
catch
{
MessageBox.Show("操作失败!");
}
}
{
if (textBox1.Text == "")
{
MessageBox.Show("修改数据时部门不能为空!请重新查找!");
comboBox1.Focus();
}
else
try
{
SqlConnection conn=new SqlConnection("server=tian;database=factory;uid=sa;password=sys1369");
conn.Open();
SqlCommand cd=new SqlCommand("update computer set dept='"+textBox1.Text+"',dno='"+textBox2.Text+"',dname='"+textBox3.Text+"',cuser='"+textBox4.Text+"',puser='"+textBox5.Text+"',moniter='"+textBox6.Text+"',cpu='"+textBox7.Text+"',hd='"+textBox8.Text+"',sd='"+textBox9.Text+"',mk='"+textBox10.Text+"',ip='"+textBox11.Text+"' where dno='"+textBox2.Text+"'",conn);
cd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
MessageBox.Show("修改成功!");
}
catch
{
MessageBox.Show("修改失败!" );
} }
private void button4_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position = 0;
} private void button5_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position -= 1;
} private void button6_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Position += 1;
} private void button7_Click(object sender, System.EventArgs e)
{
//this.BindingContext[dt].Count -1 ;
}
}
这个 dt 和要你数据源的dt中同一个,
还有,dt最好做为全局变量!!!!!!!!!!!!!
this.BindingContext[dt,"computer"].Position ....
一样不行,提示同样错误