Small冯

 

适应初学C#控件

*****************访问数据库向控件中添加值的步骤及相关代码:
一、创建连接对象:(必须先定义连接字符串,通常在添加类中定义)
        public static string strConn = "server=.;database=数据库名;uid=sa;pwd=xfht;";
        public static SqlConnection connection对象名 = new SqlConnection(strConn);
二、打开连接:
     Connection对象名.Open();
三、创建Command对象:(必须先定义SQL语句)
     String SQL="Sql语句";
     SqlCommand Command对象名 = new SqlCommand(SQL, DBHelper.connection);
四、对数据库中的数据执行操作:
    (一)、若对数据库数据进行增、删、改操作:
           Command对象名.ExecuteNonQuery(); //执行非查找语句,返回行数,属int型;
    (二)、若对数据库数据进行查找操作;
          方法1: Command对象名.ExecuteScalar();//返回查询结果集中的第一行第一列,使用时需要进行显示的类型转换;
          方法2:定义DataReader对象,使用Command对象的方法ExecuteReader():(#表示读取器对象名)
          (1)  SqlDataReader # = cmd.ExecuteReader();
          (2)  #.Read();//用于读取查询后的数据;
…………补充:
       (1)  DataReader对象属性的应用:
            #.FieldCount;//用于获取查询的列数;
            #.HasRows;//对查询结果进行读取,判断是否有数据存在,若返回true,表示有数据存在;
       (2)  DataReader对象方法的应用:
            #.GetName(i);//得到第i列的列名;
            #.close();//关闭DataReader对象;
       (3)  DataReader对象的其他应用:
            #[索引或列名]//索引或列名均表示当前进行sql语句后得到的数据表中的列对应的索引和名称;
五、关闭连接;
    连接对象名.Close();

**************在连接打开的情况下对listView控件进行操作的相关代码:(#表示读取器对象名,$表示listViewItem对象)    
       (1)  this.listView控件名.Columns.Clear();//用于清空标题列,当运用此方法时,若当前是详细列表视图模式,则会将每一行的数据都给隐藏;
       (2) this.llistView控件名.Items.Clear();//用于清空除标题行的其他行的数据;
————静态给llistView控件添加一列:
         ColumnHeader & = new ColumnHeader();
         &.Text = #.GetName(i);
         this.listView控件名.Columns.Add(&);
————根据查询的列数,动态给listView控件添加列:
        for (int i = 0; i < #.FieldCount; i++)
        {
            ColumnHeader & = new ColumnHeader();
            //&.Width = 80;(可写可不写,用于定义列的宽度)
            //&.TextAlign = HorizontalAlignment.Center;(可写可不写,用于定义文本对齐方式)
            &.Text = #.GetName(i);
            this.listView控件名.Columns.Add(&);
        }
————动态的向listView控件中添加行和数据;
           while (#.Read())//当没有写while时表静态的添加数据;
           {
              ListViewItem $ = new ListViewItem();
              $.SubItems[0].Text = #[0].ToString();
              //以上两行可以简写为: ListViewItem $ = new ListViewItem(#[0].ToString());
              $.SubItems.Add(#[1].ToString());
              $.SubItems.Add(#[2].ToString());
              $.SubItems.Add(#[3].ToString());
              $.SubItems.Add(#[4].ToString());
              //添加到listview控件中;
              this.listView控件名.Items.Add($);
           }
……补充:若listView控件中添加的是查询后的整个表中的每一列,则可使用下方法进行简化添加值:    
          while (#.Read())          
          {
             
              ListViewItem $ = new ListViewItem();         
              $.SubItems[0].Text = #[0].ToString();         
              for (int i = 1; i < #.FieldCount; i++)
              {
                   $.SubItems.Add(#[i].ToString());
              }
              this.listView控件名.Items.Add($);        
          }
          #.Close();
————获取listView控件中当前选中的某一行的数据;
   ListViewItem $=this.listView控件名.SelectedItems[0];//selectedItems[0]:表示当前可能选择多行的第一个选择的行;
   String lie1=$.SubItems[0].Text;
   String lie2=$.SubItems[1].Text;
————删除listView控件中当前选中的某一行的数据:
 if(this.listView控件名.SelectedItems.Count!=0)
        {
            this.listView控件名.Items.Remove(this.listView控件名.SelectedItems[0]);
        }
*****************访问数据库向dataGridView控件中添加数据
一、创建连接对象:(必须先定义连接字符串,通常在添加类中定义)
        public static string strConn = "server=.;database=数据库名;uid=sa;pwd=xfht;";
        public static SqlConnection connection对象名 = new SqlConnection(strConn);
二、打开连接:
       Connection对象名.Open();
三、创建DataSet对象:( DD表DataSet对象名 )
    Dataset DD= new DataSet();
……补充:
    (1) DD.Tables[表索引或表名].Rows[行索引][列索引或列名];//访问dataset对象中的表内的数据:
    (2)  DD.Tables[表索引或表名].Clear();//清空Dataset对象中的表中的数据:
 
四、创建DataAdapter对象:(在创建对象之前必须先定义Sql语句;SS表示DataAdapter对象名)
    String SQL="Sql语句";
    SqlDataAdapter SS=new SqlDataAdapter(SQL,DBHelper.connection);
……补充:
    DataAdapter对象方法使用:
    Fill()//用于填充Dataset对象;
    Update()//用于更新数据库中的数据并完成回传;
五、对Dataset对象进行填充数据:
     SS.Fill(DD, "自定义表名");
六、设置DataGridView控件的数据源:
    this.dataGridView控件名.DataSource = DD.Tables["自定义表名"];
……补充:
DataGridView控件的相关操作:
String s=this.dataGridView控件名.SelectedRows[0].Cells["dataGridView控件中的列名"].Value.ToString();//得到选中的第一行某一列的值;
this.dataGridView控件名.Rows.Romove(this.dataGridView控件名.SelectedRows[0]);//删除当前dataGridView控件中选中的行;

七、更新数据源(补充步骤)(对DataGridView控件中的数据进行了更改并需要保存时使用)
SqlCommandBuilder SqlCommandBuilder = new SqlCommandBuilder(SS);
SS.Update(DD, "自定义表名");(所有需要出现的自定义表名必须相同)
****************
…………补充:
————关于给TreeView控件添加值:
            TreeNode root = new TreeNode("爷爷");
            this.treeView1.Nodes.Add(root);
            //this.treeView1.Nodes.RemoveAt(0);
            //添加第二层节点
            TreeNode fatherNode = new TreeNode("爸爸");
            root.Nodes.Add(fatherNode);

            TreeNode motherNode = new TreeNode("妈妈");
            this.treeView1.Nodes[0].Nodes.Add(motherNode);

            root.Nodes.Add("叔叔");
            this.treeView1.Nodes[0].Nodes.Add("大伯");

            //给爸爸、妈妈、叔叔三个节点各加一个子节点
            this.treeView1.Nodes[0].Nodes[0].Nodes.Add("Jack");
            this.treeView1.Nodes[0].Nodes[1].Nodes.Add("tom");
            this.treeView1.Nodes[0].Nodes[2].Nodes.Add("city");//第一个Nodes是指第一代,“[]”中的数字表示第一代中对应的节点索引;第二个Nodes是指第二代,“[]”中的数字表示第二代中对应的节点索引;因此这三条语句执行后只有三代;其中第二代的各个节点均有一个子节点;

            //全部展开
            this.treeView1.ExpandAll();


  
  


       

posted on 2011-07-24 18:02  Small冯  阅读(585)  评论(0编辑  收藏  举报

导航