窗体通讯录

获取内容

对象.属性

类型转换
消息盒子MessageBox的Show方法只能输出字符串

convert.ToString(值);
convert.ToInt32(整数字符串);

控件对象的属性

  • 有的属性是一个值
  • 有的属性是一个类似于对象数组的容器

让窗体宽高固定的属性
在这里插入图片描述

listview整行选中
**在这里插入图片描述
**

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QQ通讯录动态加载与删除
{
    
    
    public partial class Form1 : Form
    {
    
    
        public Form1()
        {
    
    
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
    
    
            //实例化,使其显示
            CardList c1 = new CardList();
            c1.Show();
        }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QQ通讯录动态加载与删除
{
    
    
    public partial class CardList : Form
    {
    
    
        //定义一个全局的连接对象的变量
        SqlConnection conn = null;



        public CardList()
        {
    
    
            InitializeComponent();
        }

        private void tsmiDelete_Click(object sender, EventArgs e)
        {
    
    
            //找到被选中的项
            String QQnumber=lvCards.SelectedItems[0].SubItems[1].Text;

            //要做的事情
            String sql = String.Format("delete from QQCard where QQnumber={0}",QQnumber);
            MessageBox.Show(sql);

            //开启连接对象
            conn.Open();

            //生成执法者
            SqlCommand cmd = new SqlCommand(sql,conn);

            //执法者调用方法,执行不查询的方法
            int n = cmd.ExecuteNonQuery();
            MessageBox.Show("受影响的行数为"+n);
            
            //关闭连接对象
            conn.Close();

            //清空listview对象中的项
            lvCards.Items.Clear();

            //重新调用一个load方法
            loadData();
        }

        private void tsmiAdd_Click(object sender, EventArgs e)
        {
    
    
            //往listview对象中添加数据,先加假数据
            //获得listview的项的集合,往集合中添加一个item对象
            //实例化一个项,添加到集合中
            ListViewItem temp = new ListViewItem();
            temp.SubItems.Add("777");
            temp.Text = "鹅鹅鹅";//对象.属性=值

            //往集合中添加一个项
            lvCards.Items.Add(temp);
        }

        private void CardList_Load(object sender, EventArgs e)
        {
    
    
            //窗体一加载,读取数据库,获得所有数据,并且添加到listView中
            loadData();
        }
        public void loadData() {
    
    
            //实例化一个连接对象
            //连接字符串
            String connstr = "Data Source=User-2020WAFNWR;Initial Catalog=yyy;Integrated Security=True";
            //连接对象
            conn = new SqlConnection(connstr);
            //创建执法者
            String sql = "select * from QQCard";
            SqlCommand cmd = new SqlCommand(sql,conn);

            conn.Open();

            //让执法者获取所有数据
            SqlDataReader reader = cmd.ExecuteReader();

            //遍历处理数据表中的所有内容
            String name;
            String qqnumber;
            while (reader.Read())
            {
    
    
               name=reader["QQname"].ToString();
               qqnumber = reader["QQnumber"].ToString();
               //生成一个项
               ListViewItem temp_item = new ListViewItem();
                //给项添加文本
               temp_item.Text = name;
                //给项添加子项
               temp_item.SubItems.Add(qqnumber);
                //把项添加到listv对象的items集合中
               lvCards.Items.Add(temp_item);
            }

            //读数据

            //填入到listView对象的items列表中

            conn.Close();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_31762741/article/details/110753753