欢迎莅临 SUN WU GANG 的园子!!!

世上无难事,只畏有心人。有心之人,即立志之坚午也,志坚则不畏事之不成。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  470 随笔 :: 0 文章 :: 22 评论 :: 30万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

Access数据库——设计试图,可进行表字段设计

Access数据库——双击表,可维护数据

常用CRUD帮助方法如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using System.Data;
using System.Data.OleDb;
 
namespace DBHelper
{
    public static class AccessHelper
    {
        //private static string connString = ConfigurationManager.ConnectionStrings["dbConnstr"].ConnectionString;
 
        public static OleDbConnection GetConnection(string connString)
        {
            OleDbConnection conn = new OleDbConnection(connString);
            return conn;
        }
 
        /// <summary>
        /// 获取数据总条数
        /// </summary>
        /// <returns></returns>
        public static int GetCount(string connString, string sql)
        {
            return (int)ExecuteScalar(connString, sql);
        }
 
        /// <summary>
        /// 删除制定ID行数据
        /// </summary>
        /// <param name="ID"></param>
        public static int DeleteByField(string connString, string tableName, string fieldName, string fieldValue)
        {
            //ExecuteNonQuery(connString,"delete from T_Person where ID=@ID", new OleDbParameter("@ID", fieldValue));
            string sql = "delete from " + tableName + " where " + fieldName + "=@" + fieldName;
            return ExecuteNonQuery(connString, sql, new OleDbParameter("@" + fieldName, fieldValue));
        }
 
        /// <summary>
        /// 执行 Transact-SQL 语句并返回受影响的行数
        /// </summary>
        /// <param name="sql">执行的sql语句</param>
        /// <param name="parameters">sql语句中的参数</param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string connString, string sql, params OleDbParameter[] parameters)
        {
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                conn.Open();
                using (OleDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);        //AddRange添加的是数组
                    return cmd.ExecuteNonQuery();
                }
            }
        }
 
        /// <summary>
        /// 执行查询,并返回查询所返回的结果集
        /// </summary>
        /// <param name="sql">执行的sql语句</param>
        /// <param name="parameters">sql语句中的参数</param>
        /// <returns></returns>
        public static object ExecuteScalar(string connString, string sql, params OleDbParameter[] parameters)
        {
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                conn.Open();
                using (OleDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    //方法2
                    cmd.Parameters.AddRange(parameters);        //AddRange添加的是数组
                    return cmd.ExecuteScalar();
                }
            }
        }
 
        /// <summary>
        /// 只用来执行查询结果比较少的sql
        /// </summary>
        /// <param name="sql">执行的sql语句</param>
        /// <param name="parameters">sql语句中的参数</param>
        /// <returns></returns>
        public static DataTable ExecuteDataTable(string connString, string sql, params OleDbParameter[] parameters)
        {
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                conn.Open();
                using (OleDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    //方法2
                    cmd.Parameters.AddRange(parameters);        //AddRange添加的是数组
                    OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                    DataSet dataset = new DataSet();
                    adapter.Fill(dataset);
                    return dataset.Tables[0];           //可以查询很多表,默认第一个
                }
            }
        }
 
    }
}

应用调用示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace AccessDemo
{
    public class UserInfo
    {
        public string UserId { get; set; }
        public string UserName { get; set; }
        public string PassWord { get; set; }
        public string NickName { get; set; }
    }
}

窗体:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using DBHelper;
using System;
using System.Windows.Forms;
 
namespace AccessDemo
{
    public partial class Form1 : Form
    {
        //office 版本不同对应连接串不同
        private static string ConnString = "Provider= Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password = ''; Data Source = "
            + Application.StartupPath + "\\DB\\RFDB.accdb";
 
        //string strExePath = Application.StartupPath + @"MedViewer.mdb";   //mdb";
        //ConnString = @"Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + strExePath;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            this.dgvList.AutoGenerateColumns = false;
            string sql = "select * from UserInfo";
            //List<UserInfo> list = (List<UserInfo>)AccessHelper.ExecuteScalar(ConnString, sql);
 
            var list = AccessHelper.ExecuteDataTable(ConnString, sql);
            this.dgvList.DataSource = list;
        }
 
        private void btnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                string sql = @"insert into [UserInfo] ([UserId],[UserName],[PassWord],[NickName]) values ("
                    + "'" + this.txtUserId.Text + "',"
                    + "'" + this.txtUserName.Text + "',"
                    + "'" + this.txtPwd.Text + "',"
                    + "'" + this.txtNickName.Text + "')";
 
                int count = AccessHelper.ExecuteNonQuery(ConnString, sql);
                MessageBox.Show("新增成功:" + count);
                //UserId,UserName,PassWord,NickName
            }
            catch (Exception ex)
            {
            }
        }
 
        private void btnDel_Click(object sender, EventArgs e)
        {
            int count = AccessHelper.DeleteByField(ConnString, "UserInfo", "UserId", this.txtUserId.Text);
 
            MessageBox.Show("删除成功:" + count);
        }
 
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            string sql = string.Format(@"update [UserInfo] set [PassWord] = '001' where [PassWord] ='{0}'", 1);
 
            int count = AccessHelper.ExecuteNonQuery(ConnString, sql);
            MessageBox.Show("修改成功:" + count);
        }
 
        private void btnQuery_Click(object sender, EventArgs e)
        {
            string sql = "select * from UserInfo";
 
            var list = AccessHelper.ExecuteDataTable(ConnString, sql);
            this.dgvList.DataSource = list;
        }
    }
}

  

posted on   sunwugang  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2016-07-14 MongoDB小型文档型数据库使用
2016-07-14 VoLTE、呼叫等待(保持)
2016-07-14 DDD学习笔记二
2016-07-14 DDD学习笔记一
点击右上角即可分享
微信分享提示