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; } } } |
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
分类:
004 DB / 单机版DB
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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学习笔记一