C#实例:VS2005和Access数据库操作

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

 

      一、form1的设计


对应的代码:

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

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string a = textBox1.Text;
            string g = textBox2.Text;
            string c = "";

            string ql;
            ql = "select zhanghao,mima,shenfen from b1 where zhanghao='" + a + "'and mima='" + g + "'";
            DataSet ds = new DataSet();
            ds = ClassLibrary1.DataAccess.GetData(ql);


            if (ds.Tables[0].Rows.Count > 0)
            {
                c = ds.Tables[0].Rows[0][2].ToString();
                //传递身份
                ClassLibrary1.DataAccess.a = c;

                ClassLibrary1.DataAccess.b = ds.Tables[0].Rows[0][0].ToString();//zhanghao
                ClassLibrary1.DataAccess.c = ds.Tables[0].Rows[0][1].ToString();
               
                if (c != null)
                {
                    Form2 fm2 = new Form2();
                    fm2.Show();
                    this.Hide();
                }

            }
            else { MessageBox.Show("密码或编号错误"); }
        }
    }
}

二、form2的设计


对应的主要控件是:menustrip、treeview、richtextbox 。

代码如下:

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

namespace WindowsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        DataSet aa = new DataSet();
        private void Form2_Load(object sender, EventArgs e)
        {
            string a = ClassLibrary1.DataAccess.a;
            if (a == "游客")
            {
                日记管理ToolStripMenuItem.Visible = false;
                人员管理ToolStripMenuItem.Visible = false;

            }
            string ql = "select *from b2";

            aa = ClassLibrary1.DataAccess.GetData(ql);
            int i = aa.Tables[0].Rows.Count;

            if (i > 0)
            {
                treeView1.Nodes.Clear();
                for (int n = 0; n < i; n++)
                {
                    TreeNode mytreenode = new TreeNode(aa.Tables[0].Rows[n][0].ToString());
                    treeView1.Nodes.Add(mytreenode);
                }
            }
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            int i = treeView1.SelectedNode.Index;
            textBox1.Text = aa.Tables[0].Rows[i][0].ToString();
            richTextBox1.Text = aa.Tables[0].Rows[i][1].ToString();
        }

        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }

        private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            richTextBox1.Text = "";
        }

        private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" || richTextBox1.Text == "")
            { MessageBox.Show("内容或主题不能为空"); }
            else
            {
                int b = 0;
                string ql = "insert into b2 values('" + textBox1.Text + "','" + richTextBox1.Text + "')";
                for (int f = 0; f < aa.Tables[0].Rows.Count; f++)
                {
                    if (textBox1.Text == aa.Tables[0].Rows[f][0].ToString()) b++;

                }
                if (b == 1) { MessageBox.Show("该主题已经存在"); }
                else
                {
                    ClassLibrary1.DataAccess.Update(ql);
                    MessageBox.Show("保存成功");
                    ql = "select *from b2";

                    aa = ClassLibrary1.DataAccess.GetData(ql);
                    int i = aa.Tables[0].Rows.Count;

                    if (i > 0)
                    {
                        treeView1.Nodes.Clear();
                        for (int n = 0; n < i; n++)
                        {
                            TreeNode mytreenode = new TreeNode(aa.Tables[0].Rows[n][0].ToString());
                            treeView1.Nodes.Add(mytreenode);
                        }
                    }
                }

            }
        }

        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //int i = treeView1.SelectedNode.Index;
            string biaoti = treeView1.SelectedNode.Text;
            string ql = "delete from b2 where biaoti='" + biaoti + "'";
             DialogResult dr = MessageBox.Show("你真的想删除?", "提示", MessageBoxButtons.YesNo,
                   MessageBoxIcon.Information);
             if (dr == DialogResult.Yes)
             {
                 ClassLibrary1.DataAccess.Update(ql);
                 ql = "select *from b2";
                 MessageBox.Show("ok");
                 aa = ClassLibrary1.DataAccess.GetData(ql);
                 int i = aa.Tables[0].Rows.Count;

                 if (i > 0)
                 {
                     treeView1.Nodes.Clear();
                     for (int n = 0; n < i; n++)
                     {
                         TreeNode mytreenode = new TreeNode(aa.Tables[0].Rows[n][0].ToString());
                         treeView1.Nodes.Add(mytreenode);
                     }
                 }
             }
        }

        private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form3 fm3 = new Form3();
            fm3.Show();
        }

      

        private void 删除ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form5 fm5 = new Form5();
            fm5.Show();
        }

        private void 增加游客ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form4 fm4 = new Form4();
            fm4.Show();
        }
    }
}

三、form3设计


代码如下:

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

namespace WindowsApplication1
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string a, b, c;
            a = ClassLibrary1.DataAccess.a;//身份a
            b = ClassLibrary1.DataAccess.b; //账号b
            c = ClassLibrary1.DataAccess.c;//密码c
            if (textBox1.Text == "")
            {
                MessageBox.Show("密码不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (textBox1.Text != textBox2.Text) { MessageBox.Show("两次输入密码不相同", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
            else if (textBox1.Text == c)
            {
                MessageBox.Show("密码和原密码相同", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
              
                DialogResult dr = MessageBox.Show("你真的想要修改密码吗?", "提示", MessageBoxButtons.YesNo,
                    MessageBoxIcon.Information);
                if (dr == DialogResult.Yes)
                {
                    string ql;
                    ql = "update b1 set mima='" + textBox1.Text + "' where zhanghao='" + b + "'";
                    ClassLibrary1.DataAccess.Update(ql);
                    MessageBox.Show("更新成功" , "提示");
                    textBox1.Text = "";
                    textBox2.Text = "";
                }
                else
                {
                  
                    textBox1.Text = "";
                    textBox2.Text = "";
                }

            }
        }
    }
}

四、form4的设计:


代码:

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

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

        private void button1_Click(object sender, EventArgs e)
        {
           
            if (textBox1.Text == "")
            {
                MessageBox.Show("账号不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (textBox2.Text=="") { MessageBox.Show("密码不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
           
          
            else
            {
               
                DialogResult dr = MessageBox.Show("你真的想要添加吗?", "提示", MessageBoxButtons.YesNo,
                    MessageBoxIcon.Information);
                if (dr == DialogResult.Yes)
                {
                    string ql;
                    ql = "insert into b1 values( '" + textBox1.Text + "', '" + textBox2.Text + "','游客')";
                    ClassLibrary1.DataAccess.Update(ql);
                    MessageBox.Show("成功" , "提示");
                    textBox1.Text = "";
                    textBox2.Text = "";
                }
                else
                {
                    textBox1.Text = "";
                    textBox2.Text = "";
                }

            }
        }
    }
}

五、form5的设计:

主要控件:datagridview


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

namespace WindowsApplication1
{
    public partial class Form5 : Form
    {
        public Form5()
        {
            InitializeComponent();
        }
        DataSet ds = new DataSet();
        private void Form5_Load(object sender, EventArgs e)
        {
            string ql;
            ql = "select zhanghao,mima,shenfen from b1 where shenfen='游客'";
            //DataSet ds = new DataSet();
            ds = ClassLibrary1.DataAccess.GetData(ql);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("你真的想删除?", "提示", MessageBoxButtons.YesNo,
                  MessageBoxIcon.Information);
            if (dr == DialogResult.Yes)
            {
                string a = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                string ql;
                ql = "delete from b1 where zhanghao='" + a + "'";
                ClassLibrary1.DataAccess.Update(ql);
                ql = "select zhanghao,mima,shenfen from b1 where shenfen='游客'";
                ds = ClassLibrary1.DataAccess.GetData(ql);
                dataGridView1.DataSource = ds.Tables[0].DefaultView;

            }
        }
    }
}

六、建立classlibrary1,在里面添加一个数据库类

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace ClassLibrary1
{
    public class DataAccess
    {
         public static string a;
        public static string b;
        public static string c;
        public static DataSet GetData(string sql)
        {
            string conns = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb";
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(conns);
            conn.Open();
            DataSet ds = new DataSet();
            System.Data.OleDb.OleDbDataAdapter oda = new System.Data.OleDb.OleDbDataAdapter(sql, conn.ConnectionString);
            oda.Fill(ds);
            return ds;
        }

        public static void Update(string sql)
        {
            string conns = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb";
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(conns);
            conn.Open();
            System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, conn);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
    }
}
七、数据库的设计

这里简单起见,数据库就是access。它里面有两张表b1和b2(内容自己增加):

b1的设计如下:


b2的设计:


总结:

      用access将建好的数据库放在bin文件夹下面就可以了运行通过了。form2的节点(如图)是为了自己看见这个控件是treeview添加的三个节点,在运行的时候treeview的节点是自动根据数据库里的内容自己生成的,那三个节点被清除了!

c# dataGridView与access数据库及其增删查改导出报表等 假如我们要写一个实验室设备管理的一个简单程序,用access数据库可以说是最简单便捷的选择了,Access是Office里面的一个组件是office自带的数据库。 比如说要做成这样的形式,有数据的查询,编辑,添加,删除,生成报表等功能。先用winform创建一个界面,设计好表格的列属性,其中小组使用状态是用的下拉列表,表格是dataGridView。 ... 阅读详情

相关推荐

一个简单的C#ACCESS操作类

这几天一直在忙着用C#+ACCESS写一个winform应用程序,用到从ACCESS数据库查询,并且将数据返回到datagridview中。由于没有用.net开发的经验,连接ACCESS数据库花费了点精力,最后发现其实要绑定数据到datagridview中,只需把datagridview的datasource设为从数据库读出的datatable就可以了,寻着这个思路,自己写了一个ACCESS

outer of the space 1万+

ACCESS经典案例

ACCESS经典案例,有很多模板. ACCESS经典案例,有很多模板.

基于VS2005的多层架构Web应用程序开发教程

本文还有配套的精品资源,点击获取 简介:本文介绍了一个基于Visual Studio 2005开发的自定义Web应用程序,采用了B/S架构设计,适合初学者理解Web开发流程。项目使用多层架构模式,以提高代码的可维护性、可扩展性。解决方案文件(.sln)包含了所有必要的配置子项目引用。该项目使用.NET平台Access数据库,适合用于学习演示Web应用开发的初级概念。 ...

weixin_33622085的博客 1304

vs 2005 中连接access并插入记录

这是我自已试过的VS2005中连接access数据库并向其中插入一条记录的操作

access中的“是/否”类型应用之注意点

Access中的有种类型是“是/否”类型,即SQL Server中常用的布尔型,此类型在赋值或条件语句,一定要注意不要加引号,真接用就可以了,例如:select * from tablename where flag = yes,此处的格式是:yes/no,还有true/false或no/off,但都不要加引号,否则会引起IIS死锁,很明显的表现就是机器其慢无比,Cpu使用率迅速上升到100%,主

瘦月清霜 2734

DataGridView显示数据库内容及更新内容到数据库

1:类Access,包含读取数据库,更新数据库方法: class Access { private OleDbConnection OleCon = null;//连接数据库 private OleDbDataAdapter OleAdapter = null;//转换器 private DataSet ds = new DataSet();//数...

weixin_30566111的博客 1115

datagridview使用visualstudio工具来绑定数据

1.新建access数据库数据表。 2.使用visualstudio菜单栏,工具,连接到数据库来连接到access。 3.拖入dataGridView控件,进行数据绑定。 到上一步就可以实现显示数据库中的内容了,但是要进行数据更新继续看。 4.添加一个按钮,双击添加事件。 5.先删除datagridview控件里面的数据,然后调用update函数更新数据库。 6.第二

A18149287626的博客 1689

VS.Net2005连接Access数据库

VS.Net2005连接Access数据库很简单,以下是通过代码进行了一个连接,采用的是OleDb方式,具体步骤如下:创建一个C#控制台应用程序然后建立一个Access数据库,取名:test.Mdb 并建立一张表 student 表中有三个字段,分别是数字型,数字型,文本型.并在表中添入相关数据.转到C#应用程序的Bin/degug 在这新建目录data,并将test.mdb保存在此目录中

8alt的专栏 985

VS2005(C#)+Access2003

最近做了一个小自动搜索相关内容然后自动发布到Blog上的程序,是VS2005(C#)+Access2003,发现access数据库在使用的时候sql有众多的差别。 特开一个单独的分类,将遇到的问题进行集中汇总,作为项目开发的备忘录

加菲猫的快乐生活--我的理想 710

access数据库做的通讯录

access数据库做的通讯录,Visual C++6.0编译通过

非常实用c#操作Access数据库的例子(application)

本文介绍C#访问操作Access数据库的基础知识,并提供一个相关的例程。 1.通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: using System.Data.OleDb; using System.Data; 连接字符串:String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=product.mdb"; 建立连接:OleDbConnection connection = new OleDbConnection(connectionString); 使用OleDbCommand类来执行Sql语句: OleDbCommand cmd = new OleDbCommand(sql, connection); connection.Open(); cmd.ExecuteNonQuery(); 2.取得Access自增标识字段在插入数据后的id值 cmd.CommandText = @"select @@identity"; int value = Int32.Parse(cmd.ExecuteScalar

SQL Server 2005 调用vs.net 托管代码实例

在 SQL Server 2005 中,可以在 SQL Server 实例中使用以下方法创建数据库对象:基于 Microsoft .NET Framework 公共语言运行时 (CLR) 中创建的程序集使用编程方法创建。可以充分利用公共语言运行时所提供的丰富的编程模式的数据库对象包括聚合函数、函数、存储过程、触发器以及类型。在 SQL Server 中创建 CLR 函数分为下列几个步骤: 使用

龙卷风(2007) 3383

从SQL2005中调用C#方法

SQL2005中提供了调用C#的途径。在SQL2005中叫做用户自定义函数。在SQL2005的帮助里输入 UDF、Create Assembly 就能找到相关资料。这里记录一下创建的过程。 step1: 现在vs2005里新建-->数据库-->SQL Server Project step2:编写C#方法。SQL Server Project 可以引用的dll 是有限的,如果不能满足需

一个人追求的目标越高,就越能激发出他的才能. 742

vs2005+Access开发网站管理系统日志1

很早就打算把学习VS2005ACCESS开发网站的学习体会记录下来,方便自己将来查阅,也给想要学习的朋友抛砖引玉。 今天终于开始了,呵呵,希望大家支持! 首先打开VS2005,单击VS2005的起始页,单击创建网站,在弹出的窗口中,选择ASP.NET网站,位置:E:\webproject\VsDemo使用文件系统,语言使用Visual C#,然后确定。在开发时我们尽量使用CSS+DIV来...

weixin_30466953的博客 95
上一篇: Office彩蛋 关于office中隐藏的小秘密(或小游戏)
下一篇: Python模块/包/库安装(6种方法)
啊喵之熊
博客等级 码龄19年 8粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值