我的上一条,下一条,首记录,未记录语句如下:但不知道问题出在哪里?请帮助解决,还有,我查询的界面第一次查询可以,第二次查询就出现说记录集重复?我在查询语句后也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”中不存在

解决方案 »

  1.   

    全部代码如下:
    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("操作失败!");
    }
    }
      

  2.   

    DataSet dt=new DataSet();?
    楼主,把你的 dt 做为全局变量!!!!!!!!!!!!!!!
      

  3.   

    private void button3_Click(object sender, System.EventArgs e)
    {
    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("操作失败!");
    }
    }
      

  4.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    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 ;
    }
    }
      

  5.   

    his.BindingContext[dt].Position
    这个 dt 和要你数据源的dt中同一个,
    还有,dt最好做为全局变量!!!!!!!!!!!!!
      

  6.   

    this.BindingContext[dt,"computer"].Position ......
      

  7.   

    3tzjq(永不言弃的
    this.BindingContext[dt,"computer"].Position ....
    一样不行,提示同样错误
      

  8.   

    在你的开始声明public System.Data.DataSet dt;
      

  9.   

    检测没有提示错误,但运行后提示没有datasoure,该怎么办啊?