我是新学C#的,问到问题如果幼稚,请别见笑。
我的问题如下:
    在Form1里有一个listview1,还有新增修改删除按钮,这些按钮的操作都要更新listview1的内容,想问能否用一个方法实现更新listview1的内容,在不同的按钮里处理完自己的事情需要更新listview1时,调用这个方法来更新listview1.这个方法有一个参数,参数的内容就是一条SELECT语句,用来确定取回数据的范围。
    我自己做这个尝试没有成功,我自己建立了一个这个方法,可是在方法里中说找不到listview1,不知道问题出在哪里。
    同样的程序,在按钮的Click事件里运行就没有问题,在自己建立的方法里就有问题。    如果前面的问题不能做到,那是否可以将SqlDataReader reader = command.ExecuteReader();指令执行的结果做为方法的返回值返回给调用方法的地方,调用方法的地方又该如何接受到这个方法的返回值?
    如果能做到我问道问题,这样处理listview的显示问题就简单了:只需要用一条SQL指令做参数,调用一个方法,这个方法就会自己建立连接,取出参数里设置好的数据,并且将数据显示在listview里,然后关闭连接。
我也不知道给分多少算是合适的,所以给了比系统默认的多点,如果少了别说我吝啬,以后再多给。另问下是否可以用充值的方法来获得积分?,因为我是新手,没有能力回帖帮助其他朋友解决问题,又不敢随便回帖,怕有灌水的嫌疑,这样就断了我的积分来源了,这个问题也请领导层考虑下象我这样的新手积分短缺的问题。
谢谢。

解决方案 »

  1.   

    下面这个方法,在按钮的Click事件里运行就没有问题,在这个方法里运行就说找不到listview1public static void Updatalistview1(String para1)
    {
    listView1.Items.Clear(); //清除ListView中原来的内容 SqlConnection ConnectionChar1 = new SqlConnection(Chars01()); // 使用连接字符串Char1建立连接
    ConnectionChar1.Open(); // 打开连接
    SqlCommand command = new SqlCommand(para1, ConnectionChar1); // 建立命令实例
    SqlDataReader reader = command.ExecuteReader(); //从数据库获取数据 while (reader.Read())
    { //读取DataReader中的数据并输出
    ListViewItem ddd = new ListViewItem(); // 新增1行
    ddd.SubItems.Clear();
    ddd.SubItems[0].Text = reader.GetString(0);
    ddd.SubItems.Add(reader.GetString(1));
    listView1.Items.Add(ddd);
    }
    reader.Close(); //关闭SqlDataReader
    conn.Close(); //关闭连接
    }
      

  2.   

     read.getvalue();read.getString();Read["字段名"]
      

  3.   

    因为你用的是静态方法,把static去掉就行了在按钮的Click事件里运行没有问题,就说明没有问题
      

  4.   

    调用程序行是这样的 Udatalistview1("SELECT 姓名 FROM dbo.[Accounts] WHERE 帐号 = '张三'");
    编译错误信息是错误
    非静态的字段、方法或属性“Main.Form1.listView1”要求对象引用 D:\C#\项目\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 495 4 WindowsFormsApplication1
    编译不能通过
      

  5.   

    public static void Updatalistview1(String para1) 
    注:静态方法里的类控件需要对象来引用.
      

  6.   

    假如你的listView1在窗口abc中
    那么就
    abc obj=new abc();
    listView1.Items.Clear(); //清除ListView中原来的内容