1. 程式人生 > >基於ajax的三層,實現資料庫增刪改查基礎(一DAL)

基於ajax的三層,實現資料庫增刪改查基礎(一DAL)

  三層的組成就是DAL,BLL,UI層和Model層。其中的DAL層是與資料庫連結,需要引用Model層,進行對資料的操作,但我們一般在此層不進行資料的處理。BLL層負責引用DAL和MODEL層,在此層對從資料層所得到的資料進行處理,例如,利用ExecuteReader得到的SqlDataReader物件,傳到BLL層,我們就需要在此層對其進行遍歷。UI層負責介面,引用BLL層和MODEL層,將資料展示或者向BLL層傳送使用者操作。這就是三層的各層之間的作用。

 
首先,我們先對DAL曾編寫,先建立一個空的解決方案,向其中加入一個類庫,命名為DAL,現在建立完DAL層,我們就需要對DAL層進行編寫了。那麼需要實現的常見方法有如下幾個(1)查詢所有(2)登陸驗證(3)查詢單個(4)更改資料(5)新增資料

資料庫的兩個表結構如下


如圖如下

usermoney表的useridm是userMes的USERID的外來鍵,查詢不涉及兩表查詢。下邊是DAL查詢的方法,有的地方沒有在BLL處理,查詢時我直接在DAL層將資料處理,返回。


string con = "Data Source=.;Initial Catalog=FirstBig;Integrated Security=True";//宣告連結字串

刪除一條資料,傳入的引數為Id
        public int deleteOne(int id)
        {
            string sql = "delete from userMes where

[email protected]";
            using (SqlConnection conn=new SqlConnection(con))
            {
                using (SqlCommand cmd=new SqlCommand(sql,conn))
                {
                    conn.Open();
                    SqlParameter p1 = new SqlParameter("@userid", id);
                    cmd.Parameters.Add(p1);
                    int res= cmd.ExecuteNonQuery();
                    return res;
                }

            }
        }

//新增一個使用者 引數為使用者名稱和密碼
        public int addone(string username,string userpass)
        {
            string insert = "insert into userMes(username,userpass) values(@username,@userpass)";
            using (SqlConnection conn=new SqlConnection(con))
            {
                using (SqlCommand cmd=new SqlCommand(insert,conn))
                {
                    conn.Open();
                    SqlParameter sql1 = new SqlParameter("@username", username);
                    SqlParameter sql2 = new SqlParameter("@userpass", userpass);
                    cmd.Parameters.Add(sql1);
                    cmd.Parameters.Add(sql2);
                    int res= cmd.ExecuteNonQuery();
                    return res;
                }
            }
        }

//修改一個使用者
        public int changeOnew(userMes li,int id)
        {
            string sql="update userMes set [email protected], [email protected] where [email protected] ";
            using (SqlConnection conn=new SqlConnection(con))
            {
                using (SqlCommand cmd=new SqlCommand(sql,conn))
                {
                    SqlParameter[] sq = new SqlParameter[]
                    {
                        new SqlParameter("@username",System.Data.SqlDbType.NVarChar,50)
                        {
                            Value=li.username
                        },
                        new SqlParameter("@usersex",System.Data.SqlDbType.NVarChar,50)
                        {
                            Value=li.userSex
                        },
                        new SqlParameter("@userid",System.Data.SqlDbType.NVarChar,50)
                        {
                            Value=id
                        }
                    };
                    conn.Open();
                    cmd.Parameters.AddRange(sq);
                   int res= cmd.ExecuteNonQuery();
                   return res;
                }
            }
        
        }

//查詢頁數
        public int selectCount()
        {
            string sql = "select COUNT(*) from userMes";
            using (SqlConnection conn=new SqlConnection(con))
            {
                using (SqlCommand cmd=new SqlCommand(sql,conn))
                {
                    conn.Open();
                   int res= cmd.ExecuteNonQuery();
                   return res;
                }
            }
        }

//查詢所有資料
        public List<userMes> selectAll()
        {
            List<userMes> li = new List<userMes>();
            string sql="select * from userMes";
            using (SqlConnection conn=new SqlConnection(con))
            {
                using (SqlCommand cmd =new SqlCommand(sql,conn))
                {
                    conn.Open();
                   SqlDataReader sqr= cmd.ExecuteReader();
                   userMes u = null;
                   if (sqr.HasRows)
                   {
                       while (sqr.Read())
                       {
                           u=new userMes();
                           u.id =Convert.ToInt32(sqr["userid"]);
                           u.username =sqr["username"].ToString();
                           u.userSex = sqr["userSex"].ToString();
                           li.Add(u);
                       }
                   }   
                   return li;
                }
            }
        }

//這個暫時沒用上,還沒有時間去做分頁

 public List<userMes> selectMes(int pageCount, int pageSize)
        {
            string sql = "select top(@pageSize) * from userMes where userid not in (select top(5*(@pageCount-1)) UserId from userMes order by UserId) order by UserId";
            using (SqlConnection conn=new SqlConnection(con))
            {
                using (SqlCommand cmd=new SqlCommand(sql,conn))
                {
                    conn.Open();
                    SqlParameter sq1 = new SqlParameter("@pageSize", pageSize);
                    SqlParameter sq2 = new SqlParameter("@pageCount", pageCount);
                    cmd.Parameters.Add(sq1);
                    cmd.Parameters.Add(sq2);
                    SqlDataReader sqr= cmd.ExecuteReader();
                    userMes u = null;
                    List<userMes> li = new List<userMes>();
                    if (sqr.HasRows)
                    {
                        while (sqr.Read())
                        {
                            u = new userMes();
                            u.id = Convert.ToInt32(sqr["id"]);
                            u.username = sqr["username"].ToString();
                            u.userSex = sqr["userSex"].ToString();
                            li.Add(u);
                        }
                    }
                    return li;
                }
            }
        }

以上為DAL層中的程式碼,其實可以去建立一個sqlHelper類,呼叫這個類進行操作,下一篇文章會寫這個類的具體程式碼。

Model層的程式碼很簡單,對應資料庫裡的列名去建立就好。這個是對應於第一個表的一個Model

  public class userMes
    {
        public int id { get; set; }
        public string username { get; set; }
        public string userSex { get; set; }
    }

相關推薦

基於ajax實現資料庫刪改基礎DAL

  三層的組成就是DAL,BLL,UI層和Model層。其中的DAL層是與資料庫連結,需要引用Model層,進行對資料的操作,但我們一般在此層不進行資料的處理。BLL層負責引用DAL和MODEL層,在

基於ajax實現資料庫刪改 BLL編寫

由於前面我在DAL層對資料進行了處理,所以在此層就不用寫太多複雜程式碼,直接呼叫DAL傳入引數就可以,程式碼如下 //查詢單條         public int selectOne(string userid,string userpass)         {    

Web介面實現資料庫刪改過程

實現方法:JSP+Servlet+JavaBean 基本實現思想:jsp檔案為顯示介面,包括增刪改查四個介面,然後使用form或者href超連結的方法將網頁獲得的值傳到Servlet中的方法裡;而servlet方法中呼叫dao層裡面的包括增刪改查等方法的物件,以此實現對資料庫裡面的資料的增刪改查,最後返回頁

Kotlin整合Spring Boot實現資料庫刪改(mybatis版)

前幾天由於工作需要,便開始學習了kotlin,java基礎紮實學起來也還算比較快,對於kotlin這個程式語言自然是比java有趣一些,因此就有了使用kotlin搭建基於spring boot的開發環境。這次先分享mybatis版本的 1 maven的pom檔案 <

Kotlin整合Spring Boot實現資料庫刪改(spring data jpa版)

接上次的kotlin整合spring boot的mybatis版本,這次分享的內容也很精彩,現在spring data jpa也慢慢流行起來了,因此學習kotlin的時候也順帶寫了spring data jpa版本的,下面就直接上程式碼分享給大家了 1 pom加入如下配置

mongoose建立資料結構實現基本刪改功能

首先建議建立如下目錄結構的一個express專案目錄結構 --server --bin//這個檔案目錄是放置express專案啟動項檔案 --models//放置對應資料的結構 --public//前端頁面以及靜態資源 --routes//後端業務邏輯 --util//公

java實現hbase資料庫刪改操作新API

操作環境:    java版本:    jdk 1.7以上    hbase 版本:1.2.x    hadoop版本:2.6.0以上 實現功能: 1,建立指定表        2,刪除指定表       3,根據表名,行鍵,列族,列描述符,值插入資料       4,根

pymysql連線資料庫,實現資料庫刪改

1.資料庫連線 # 建立連線 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306, user='root'

Android中內容提供者ContentProvider實現資料庫刪改

1.我們首先new一個我們自己的類整合ContentProvider,並實現方法如下 package com.wzw.sqllitedemo.providers; import com.wzw.sqllitedemo.db.PersonSQLiteOpenHelper;

Struts2+Spring+Hibernate實現員工管理刪改功能之ssh框架整合

pri support scrip ext ack efault ring src 兩張 前言 轉載請標明出處:http://www.cnblogs.com/smfx1314/p/7795837.html 本項目是我寫的一個練習,目的是回顧ssh框架的整合以及

ztree--插件實現刪改demo完整版

mes add treenode pan tno btn tin 異步 als ztree--插件實現增刪改查demo(完整版) var setting = { async: { enabl

MYSQL資料庫 刪改基礎語句

語法:create table tablename(column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints,column_name_3 column_type_3 constraints)

C#中對sqlserver進行刪改操作簡單易懂

uid 數據連接 net cti ade 密碼 logs where Go 1、添加引用using System.Data;using System.Data.SqlData;2、建立於數據庫的連接,建議將它做成一個方法,方便多次利用。string sqlconnectio

懶人系列——刪改封裝

作為一個懶人就不廢話了,新入職的一個小公司資料庫表不復雜,查詢也基本是單表,但是表的欄位很長(想象一下專案就幾張表,分表不均)。對於資料庫的操作第一個想到的是hibernate,mybatis這些框架(別問我為什麼,懶啊),但是想想又沒對就幾張表的事你給我加個框架???(據說

4.6 基於Spring-Boot的Mysql+jpa的刪改學習記錄 > 我的程式猿之路:第十六章

    1.專案結構       -JDK  1.8       -SpringBoot  2.0.6     &nbs

java實現mysql資料庫刪改

1.連線資料庫: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { static String driver = "com.mysql.jdbc.Driver"; s

lua 連線mysql資料庫實現刪改操作linux下示例

(1)linux下連線資料庫: mysql -u root -p,-u 指定登入使用者,-p 指定密碼。 [[email protected]18 develop]$ mysql -u root -p Enter password: Welcome to the MySQ

Mybatis 學習筆記——使用Mapper代理的方式實現資料刪改

一、介紹   Mapper代理的方式只需要程式設計師編寫 Mapper.xml 檔案及 Mapper介面。   本文是基於上一篇文章:Mybatis 學習筆記——原生DAO實現資料增刪改查,所以接下來的內容是以其為基礎的,如果有什麼不懂的請留言或檢視上一篇。所

4.6 基於Spring-Boot的Mysql+jpa的刪改學習記錄 > 我的程式猿之路:第十六章

1.專案結構       -JDK  1.8       -SpringBoot  2.0.6       -Thymeleaf       -Hot Start         1.1 後臺(5個)       java\com\example\demo\beans\user.java        

java 移動節點排序號進行重新排序以閉包形式實現ztree刪改操作其中排序運用到此方法

package com.avic.custom.controller.ct; import java.util.HashMap; import java.util.Map; /** * 移動節點重新排序操作 * @author Administrator * */