Winform 交互数据库的规整操作

Winform 连接数据库 增删改查基本操作

新建文件夹 App_Code
添加两个类:
UserDA.cs(封装表中字段)
User.Data.cs(书写连接数据库,增删改查的操作方法)

  

using WindowsFormsApplication7.App_Code;

namespace WindowsFormsApplication7
{
    public partial class Form4 : Form
    {
        public Form4()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Insert f = new Insert();
            f.Owner = this;
            f.Show();
        }

        private void Form4_Load(object sender, EventArgs e)
        {
            List<UserData> list = new UserDA().Select();
            Binddata(list);
        }

        private void Binddata(List<UserData> list)
        {
            //第一步:构建listview"‘
            listView1.Columns.Clear();
            listView1.Columns.Add("编号");
            listView1.Columns.Add("用户名");
            listView1.Columns.Add("密码");

            listView1.Items.Clear();

            //读取数据,通过数据构建listview中的行

            foreach (UserData data in list)
            {
                ListViewItem lt = new ListViewItem();
                lt.Text = data.Code.ToString();
                lt.SubItems.Add(data.Uname);
                lt.SubItems.Add(data.UPass);

                listView1.Items.Add(lt);
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            List<UserData> listtiaojian =  new UserDA().Select(textBox1.Text);
            Binddata(listtiaojian);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
               string code = listView1.SelectedItems[0].Text;
               new UserDA().Delete(code);
                //重新绑定数据
               List<UserData> list = new UserDA().Select();
               Binddata(list);
            }
            else
            {
                MessageBox.Show("请选择,再删除");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                UserData data = new UserData();
                data.Code = int.Parse(listView1.SelectedItems[0].SubItems[0].Text);
                data.Uname = listView1.SelectedItems[0].SubItems[1].Text;
                data.UPass = listView1.SelectedItems[0].SubItems[2].Text;
                Update f = new Update(data);
                f.Show();
            }
            else
            {
                MessageBox.Show("请选择,再修改");
            }

        }
    }
}

  

App-code userdata.cs

namespace WindowsFormsApplication7.App_Code
{
    public class UserData
    {
        private int _Code;

        public int Code
        {
            get { return _Code; }
            set { _Code = value; }
        }
        private string _Uname;

        public string Uname
        {
            get { return _Uname; }
            set { _Uname = value; }
        }
        private string _UPass;

        public string UPass
        {
            get { return _UPass; }
            set { _UPass = value; }
        }
    }
}

  

App_code   UserDA().cs

using System.Data.SqlClient;

namespace WindowsFormsApplication7.App_Code
{
    public class UserDA
    {
        private SqlConnection _Conn;
        private SqlCommand _Cmd;

        public UserDA()
        {
            _Conn = new SqlConnection("server=.;database=data1220;user=sa;pwd=");
        }

        //添加方法
        public void Insert(UserData data)
        {
            _Conn.Open();
            _Cmd = _Conn.CreateCommand();
            _Cmd.CommandText = "insert into users values(@uname,@upass)";
            _Cmd.Parameters.Clear();
            _Cmd.Parameters.Add("@uname",data.Uname);
            _Cmd.Parameters.Add("@upass", data.UPass);

            _Cmd.ExecuteNonQuery();
            _Conn.Close();
        }

        //查询方法
        public List<UserData> Select()
        {
            List<UserData> list = new List<UserData>();

            _Conn.Open();
            _Cmd = _Conn.CreateCommand();
            _Cmd.CommandText = "select *from users";
            SqlDataReader dr = _Cmd.ExecuteReader();
            while (dr.Read())
            {
                UserData data = new UserData();
                data.Code = int.Parse(dr["code"].ToString());
                data.Uname = dr["uname"].ToString();
                data.UPass = dr["upass"].ToString();

                list.Add(data);
            }

            return list;
        }

        /// <summary>
        /// 根据用户名查
        /// </summary>
        /// <returns></returns>
        public List<UserData> Select(string uname)
        {
            List<UserData> list = new List<UserData>();

            _Conn.Open();
            _Cmd = _Conn.CreateCommand();
            _Cmd.CommandText = "select *from users where uname like ‘%"+uname+"%‘";
            SqlDataReader dr = _Cmd.ExecuteReader();
            while (dr.Read())
            {
                UserData data = new UserData();
                data.Code = int.Parse(dr["code"].ToString());
                data.Uname = dr["uname"].ToString();
                data.UPass = dr["upass"].ToString();

                list.Add(data);
            }

            return list;
        }

        public void Delete(string code)
        {
            _Conn.Open();
            _Cmd = _Conn.CreateCommand();
            _Cmd.CommandText = "delete from users where code="+code;
            _Cmd.ExecuteNonQuery();
            _Conn.Close();
        }

        public void update(UserData data)
        {
            _Conn.Open();
            _Cmd = _Conn.CreateCommand();
            _Cmd.CommandText = "update users set [email protected],[email protected] where [email protected]";
            _Cmd.Parameters.Clear();
            _Cmd.Parameters.Add("@code",data.Code);
            _Cmd.Parameters.Add("@uname",data.Uname);
            _Cmd.Parameters.Add("@upass",data.UPass);

            _Cmd.ExecuteNonQuery();
            _Conn.Close();
        }
    }
}

  

时间: 2024-10-12 03:59:36

Winform 交互数据库的规整操作的相关文章

ASP.net与SQLite数据库通过js和ashx交互(连接和操作)

ASP.net与SQLite数据库通过js和ashx交互(连接和操作): 废话(也是思路):用的是VS2010,打算做网站前后台.由于不喜欢前台语言里加些与html和css和js的其他内容,想实现前后台语言的分离,与前后台通过js的ajax实现交互,故很多百度出来的方法不成立,虽听说ashx过时,但是他实现了我要的效果:即前后台语言不是相互嵌入实现交互,而是通过js实现(有接口就可以).由于领导指定用SQLite,故这两天还折腾了SQLite,不过对于这种小型的网站,它是个很好的选择(不需要部署

Winform开发框架里面使用事务操作的原理及介绍

在很多情况下,事务是个很有用的东西,可以把一系列的操作组合成一个原子粒度的操作,一旦组合中某个地方出错,可以整个干净的进行滚回,不会留下脏数据:除此之外,事务还能提高批量操作的效率,如在本地SQLite数据库里面,批量插入1万条数据,那么使用事务和没有使用事务,速度上至少差别几十到上百倍的差异.既然事务有完整性和速度性的差异,因此,基于上述原因,我们在很多情况下最好使用事务进行操作.本文主要介绍在开发框架中如何整合事务的操作,并介绍在各个分层中的事务使用案例. 由于我介绍的相关框架,主要是采用了

(05)odoo数据库和业务操作

以一个例子开头* To-do 向导   # 配置文件       __openerp_.py:         { 'name': 'To-do Tasks Management Assistant',    'description': 'Mass edit your To-Do backlog.',    'author': 'Daniel Reis',    'depends': ['todo_user'],    'data': ['todo_wizard_view.xml'], }  

数据交互和表单操作

今天是上班的第42天,对于一个程序媛来说,不管之前你学了多少年的知识,真正的时间,都应该是从上班开始算起的,因为上班才是敲代码的开始,木有实践,一切的理论对于程序媛来说都是扯淡~ 好啦!今天学到了很多的东西,必须在这儿记录一下! 当实现和后台的数据交互时,如果后台返回给我们的是一个数组,里面的值就像这样子,然后前台就不能在JS中像常规那样在构建里面中调后台的参数,看下面的详解吧~ 常规的时候后台返回的数据是这样的: 然后我们在前台js构建页面的时候是这样子写的: 但是如果后台今天不这样给你反了呢

数据库之表操作,数据操作

注意的几点:1.如果你在cmd中书命令的时候,输入错了就用\c跳出 2.\s查看配置信息 一.操作文件夹(库) 增:create database db1 charset utf8; 删:drop database db1; 改:alter database db1 charset gbk; 查:show databases; #查看所有的数据库 show create database db1; #查看db1数据库 二.操作文件(表) 切换到文件夹下:use db1 增:create tabl

在php中需要用到的mysql数据库的简单操作

1.数据库连接 1.1用windows命令行链接数据库服务器 几个DOS命令 在DOS环境下命令后面没有分号,在MySQL环境下,命令后面有分号 进入盘符: 语法:盘符: 进入盘符下的某个文件夹 语法:cd 路径 上级目录:  ../ 进入根目录:  / 1.2链接MySQL服务器需要的参数 Host         主机       -h Username    用户名     -u Password     密码       -p Port         端口       -P E:\wa

mysql数据库很简单操作

进入linux系统 root   >/usr/bin/mysql -u root mysql>show databases;                    #查看数据库 mysql>use  testtable;                        #testtable 为所要查看的库,应用数据库 mysql>show tables;                          #查看所有表 mysql>desc abc_table          

【Android】内嵌数据库IDE(可视化操作类)

Android开发的朋友应该对数据库内容的管理深有体会,想看一下放入数据库的内容都不是很方便,要么用root的设备导出来看或用第三方的手机版的ide.但是都要求root之后.最近一直在想android方便快捷的方法,今天刚好弄到了数据库这块.就写了一个Activity专门用来看数据库的,功能就是看对应数据库的表及表中的数据库. 效果图 刚写还没来得及美化,后面在使用过程中再时行完善. DBIDEActivity.java import java.util.ArrayList; import ja

mysql数据库和mongodb数据库的相关操作以及两个数据库的区别

在docs命令中执行数据操作 MySQL数据库 先启动MySQL服务器  net start mysql 进入MySQL服务器MySQL -uroot -p(这里写你的数据库密码) (-P是从哪个端口进) 我第一次操作是就是因为电脑上 有 MySQL  MySQL57 MySQLla 三个服务 引起端口冲突 导致 我 找不到相应的数据 数据库操作 create database   创建数据库 show databases   显示MySQL服务上的数据库 use  数据库          使