OA系統登錄及導航界面如下圖1~3所示。
圖1 OA系統登錄界面
圖2 OA系統主導航界面
圖3 OA系統審批導航界面
打開請假審批模塊,首先進入的是流水簿界面,默認顯示當天之后的請假申請單,如下圖4所示。
圖4 請假單審批界面
找到未審核的請假單,點擊前面的【審√】審核按鈕,如下圖5所示。
圖5 審核請假單
在開窗中點【審核】按鈕,顯示審核結果,如下圖6所示。
圖6 請假單審核結果
在上圖界面中點【關閉】,回到請假流水簿界面,此時在已審核單據左側,【審√】按鈕變為了【反√】反審核按鈕,如下圖7所示。
圖7 流水簿界面的已審核請假單
請假單審核后,若要修改、刪除,則需先反審核,在流水簿界面點【反√】反審核按鈕,打開反審核窗口,如下圖8所示。
圖8 反審核請假單
在開窗中點【反審核】按鈕,顯示反審核結果,如下圖9所示。
圖9 請假單反審核結果
在上圖界面中點【關閉】,回到請假流水簿界面,此時在單據左側,【反√】反審核按鈕又變回了【審√】審核按鈕,同上圖4所示。
操作類似上面的請假單審批部分,如下圖10所示。
圖10 采購審批
操作類似上面的請假單審批部分,如下圖11所示。
圖11 付款審批
操作類似上面的請假單審批部分,如下圖12所示。
圖12 報銷審批
首先要確定哪種單據,走什么樣的審核流程,現以“采購付款單”為例,財務主管審核完后,總經理終審,然后出納付款給供應商,流程的每個步驟最多可有6個“可審人”,以便在特殊情況下由代職人(最多可設置5個代職人)代審,為了方便講述,現把管理員admin設置為每個步驟的待審人(可審人2),如下圖13所示。
圖13 多級審核設置
OA系統單據的多級審核,其邏輯與ERP系統客戶端是一樣的,只不過相當于把Windows平臺下的客戶端搬到了移動端,以下以采購付款單為例,進行介紹。
在采購付款單流水簿界面,點審核按鈕,彈出審核窗口,因系統設置了當前單據的審核流程,所以在審核窗口的上部,顯示了當前的審核進度,如下圖14所示。
圖14 OA系統多級審核窗口-采購付款單
當前設置了2級審核,必須逐級審核,先選中序號【01】的單選框,點【審核】后,系統提示審核成功,如下圖15所示。
圖15 OA系統逐級審核成功提示
當末級審核通過后,再次查詢單據流水簿時,可以看到單據的終審人、終審時間,如下圖16所示。
圖16 OA系統終審通過后更新單據的審核信息
注意:
a、系統不允許越級【審核】
如果越級審核,第1級還未審核,就審核第2級,系統會給出錯誤提示,如下圖17所示。
圖17 OA系統越級【審核】失敗提示
b、系統不允許越級【反審核】
同樣,如果是越級反審核,比如第2級已經審核了,這時第1級反審核,系統也會給出提示,如下圖18所示。
圖18 OA系統越級【反審核】失敗提示
c、【駁回】的后續流程不可再【審核】
如果處于審核流程之前的已經審核駁回,后面的人不可以再審核,否則系統也會給出提示,比如第1級審核駁回,第2級不可再審核,如下圖19所示。
圖19 OA系統審核駁回-后續再審系統報錯
幣加德ERP系統內置了簡易版的聊天軟件,ERP用戶之間可以發消息,更主要的功能是在ERP單據錄入后,ERP系統自動提醒審核人,審核人可以通過打開ERP消息,直接跳轉到ERP單據,無需逐個打開相應的系統模塊,然后再去查看哪些單據需要審核。
OA系統的消息中心與ERP系統的消息中心同步,相當于ERP系統消息中心的移動端版本,方便在移動端審核單據(僅支持部分單據)。
當有新消息到達時,會在ERP系統移動端的導航界面,顯示新消息的條數,如下圖20、圖21所示。
圖20 消息提醒-主界面OA系統旁
圖21 消息提醒-OA審批界面消息中心旁
打開消息中心,可以看到系統消息,如下圖22所示。點擊不同類型的關聯單號,可以打開不同單據的審批界面,比如點擊下圖請假單號“BQJ-24100001”,則可以打開上面“圖4 請假單審批界面”,這相當于通過“OA審批導航界面→請假審批”逐級打開的快捷方式,消息打開后,自動變為“已讀”狀態。
圖22 OA消息中心
系統使用一段時間,會有很多歷史消息,一些沒有價值的消息也可以刪除掉,點上圖消息左側的【刪×】刪除按鈕,系統會彈出確認對話框,用戶確認后即可刪除消息。
——以下空白!——
]]>
圖: “個案遷移工具”位置
打開個案遷移工具,默認頁簽為“自定義字段”,點【查詢】,再點【導出】,導出的“自定義字段.xml”默認會保存在ERP根目錄下的“個案遷移”子目錄下,如下圖。
圖:個案遷移工具
用同樣的方法導出其他頁簽下的內容,最后導出的文件如下圖。
圖:導出后的個案文件
當新建賬套后,以管理員身份登錄進入新賬套,打開個案遷移工具,這時點【查詢】可以看到初始賬套中的測試數據,點【一鍵清空所有個案】將測試數據清除,如下圖。
圖:一鍵清空所有個案
點【導入】,選中“個案遷出”時導出的xml文件,再點【保存】,如下圖。
圖:個案導入
]]>圖:復雜報表外掛最終效果
此復雜報表外掛具有如下特點:
按前面“自定義報表/SQL命令行工具”介紹的方法,準備查詢SQL語句,如下圖。
圖:使用SQL命令行工具準備SQL查詢語句
按上一節介紹的方法建立項目W2,在W2上右鍵鼠標,在彈出菜單中選【添加】/【新建項】,如下圖。
圖:添加數據集(默認名稱不要更改)
在打開的DataSet1.xsd面板中,右鍵鼠標,如下圖。
圖:添加TableAdapter
在彈出的“添加連接”窗口,錄入數據庫服務器相關信息,如下圖。
圖:連接數據庫
根據TableAdapter配置向導進行配置,如下圖。
圖:不要在連接字符串中包含敏感數據
圖:默認下一步
圖:默認下一步
粘貼準備好的查詢SQL語句,點【完成】,如下圖。
圖:粘貼準備好的查詢SQL語句
執行查詢SQL語句所得的數據表字段,如下圖。
圖:查詢所得的數據表字段
在W2上右鍵鼠標,在彈出菜單中選【添加】/【新建項】,如下圖。
圖:添加報表文件(默認名稱不要更改)
在打開的報表文件界面,右鍵“數據集”,選擇剛剛配置的數據集,如下圖。
圖:選擇數據集
在報表設計界面,右鍵鼠標,可以插入文本框等等,也可以把左側的數據集下面的字段拖放到報表設計界面,如下圖。
圖:報表設計
報表設計是最繁瑣最費時間的事情,最終設計結果,如下圖。
圖:報表設計結果
打開Form1窗體,從工具箱拖放一個ReportViewer報表查看器到窗體,如下圖。
圖:把報表查看器添加到窗體
雙擊Form1窗體,如圖30-26,清空窗體中所有的代碼,并把下面的代碼復制粘貼進去。
圖:Form1代碼窗口
using?Microsoft.Reporting.WinForms;
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Data.SqlClient;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
namespace?W2
{
public?partial?class?Form1?:?Form
{
public?string?_userID =?“”; ?????????????//登錄用戶ID
public?string?_serverIP =?@”.\_MSSQL2005″;?//服務器IP(如果是SQL企業版,則為“.”)
public?string?_dbName =?“bdERP”; ?????????????????????//數據庫名稱
public?string?_saPassword =?“17312319729@bijiade.cn”;?//sa密碼
public?string?_curDir =?@”..\..\”; ???????????????????//當前目錄
public?Form1(){?InitializeComponent();?}
public?void?ShowMe(string?userID,?string?serverIP,?string?dbName,?string?saPassword,?string?curDir)//鉤子方法
{
_userID = userID; ??????????//傳遞用戶登錄ID
_serverIP = serverIP; ??????//服務器IP
_dbName = dbName; ??????????//數據庫名稱
_saPassword = saPassword; ??//sa密碼
_curDir = curDir; ??????????//當前目錄
MessageBox.Show(“用戶ID:”?+ _userID +?“\n數據庫服務器IP:”?+ _serverIP +?“\n數據庫名稱:”?+ _dbName +?“\nsa密碼:”?+ _saPassword +?“\n當前目錄:”?+ _curDir,?“提示”);
base.Show();//顯示窗體
}
private?void?Form1_Load(object?sender,?EventArgs?e)
{
//1.SQL查詢語句
string?sql =?@”
SELECT
a.c010 單號, a.c020 日期, a.c200 銷售類型, a.c210 客戶單號,
a.c030 客戶代碼, c.c020 客戶名稱,
a.c090 聯系人, a.c091 聯系電話,
a.c070 交貨方式, a.c080 交貨地點, ?a.c100 備注, a.c110 業務員,
b.c020 項次, b.c029 客戶料號, b.c030 貨品代碼,
b.c050 品名規格, b.c060 單位, b.c069 含稅, b.c070 單價, b.c071 含稅單價,
b.c080 數量, b.c090 金額, b.c100 稅率, b.c101 稅額, b.c110 價稅合計,
b.c150 摘要
FROM SAL020 a
LEFT JOIN SAL021 b ON b.c010=a.c010
LEFT JOIN BAS010 c ON c.c010=a.c030
WHERE 1=1 AND a.c061<>’Y’
AND a.c010=’XCK-21060001′
“;
//2.報表文件名(如果報表文件與外掛程序在同一目錄,直接寫報表名稱即可)
string?reportName = _curDir +?@”Report1.rdlc”;
//3.綁定
Bind(sql, reportName);
}
///?<summary>
///?工具方法,執行SQL查詢獲取數據,并綁定到指定報表。
///?</summary>
///?<param name=”sql”>SQL查詢語句</param>
///?<param name=”reportName”>報表文件名</param>
private?void?Bind(string?sql,?string?reportName)
{
DataTable?data =?new?DataTable(); ??????????????????????????//數據
try
{
//執行SQL查詢獲取數據
string?connStr =?“Data Source=”?+ _serverIP +?@”;Initial Catalog=”?+ _dbName +?“;Persist Security Info=True;”?+
“User ID=sa;Password=”?+ _saPassword;
using?(SqlConnection?conn =?new?SqlConnection())
{
conn.ConnectionString = connStr;
conn.Open(); ?????????????????????//打開數據庫連接
SqlDataAdapter?adapt =?new?SqlDataAdapter(sql, conn);//實例化適配器
adapt.Fill(data); ???????????????????????????????????//獲取數據
conn.Close(); ??????????????????????????????????????//關閉數據庫連接
}
//綁定到指定報表
ReportDataSource?rds =?new?ReportDataSource();
rds.Name =?“DataSet1”; ?????????????????//要與數據集屬性數據集名稱要一致
rds.Value = data;
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(rds);
this.reportViewer1.LocalReport.ReportPath = reportName; ?//報表文件名
this.reportViewer1.RefreshReport();
}
catch?(Exception?ex) {?MessageBox.Show(“出錯了:\n”?+ ex.Message,?“提示”,?MessageBoxButtons.OK,?MessageBoxIcon.Error); }
}
}
}
以上代碼已經在注釋中進行了講解,看不懂也沒有關系,只要依葫蘆畫瓢,要改2個地方(上面代碼已說明):其一是SQL查詢語句;其二是報表文件名稱(注意路徑)。如下圖。
圖:代碼關鍵點(SQL查詢語句、報表文件名)
鼠標右鍵W2,在彈出菜單中選【屬性】,目標框架選.NET 3.5,如下圖。
圖:選.NET Framework 3.5
提醒:這里輸出類型保持默認,為了便于測試。測試正常后,可以改為“類庫”。
拷貝外掛程序到ERP的外掛目錄下,并確認運行正常,如下圖。
圖:拷貝外掛程序到ERP的外掛目錄下
打開【系統設置】/【外掛程序接口】,選擇子系統,配置外掛程序接口參數,測試是否可以正常打開外掛程序,最后點【保存并應用】,如下圖。
圖:外掛程序接口
①報表外掛的意義。幣加德ERP系統的單據打印都是基于Excel的(參見“第23章 單據打印格式設計”),一般情況下無需開發.rdlc報表,除非現有報表滿足不了業務需求。這里以開發.rdlc報表為例,不僅僅為了說明報表開發本身,而且可以學習到如何集成ERP中的用戶ID、賬套數據庫等,無需另外配置數據庫連接和建立賬戶體系。
②幣加德ERP外掛接口規范。會傳遞如下這些參數給外掛程序,外掛程序可以不使用,或者部分使用,但是不能缺少這些參數,順序也不能改變。
///?<summary>
///?鉤子方法。
///?</summary>
///?<param name=”userID”>用戶登錄ID</param>
///?<param name=”serverIP”>服務器IP</param>
///?<param name=”dbName”>數據庫名稱</param>
///?<param name=”saPassword”>sa密碼</param>
///?<param name=”curDir”>當前目錄</param>
public?void?ShowMe(string?userID,?string?serverIP,?string?dbName,?string?saPassword,?string?curDir)//鉤子方法
{
_userID = userID; ??????????//傳遞用戶登錄ID
label1.Text =?“登錄用戶ID:”?+ _userID;//標簽顯示
base.Show();//顯示窗體
}
③使用Visual Studio 2013開發.rdlc報表的關鍵是準備SQL查詢語句、報表設計(最費時間)。報表設計有如下特點(注意點),如下圖。
1)拖放設計。數據字段按照SQL查詢語句的順序列示,直接拖放進行報表設計,簡單直觀。
2)設計時可以調整紙張大小。報表默認大小是A4縱向(可以更改),寬度不能超過“紙張寬度+邊距”,否則打印預覽時多出了很多空白頁(如果拉窄了寬度后,打印預覽時還是有空白頁,則需要把“報表”的“ConsumeContainerWhitesapce”屬性值改為True,此屬性意思“指使在容器中的內容增長時,是占用還是保留容器中的最小空白。只要內容右側和下方的空白受到影響。”)。縱向不用留空間,在打印時根據數據行數自動拉高。
3)數據表是一個整體。當在設計時插入表格,表格是一個整體,但是列頭在多頁時重復顯示功能時不時卡殼(tablix“Tablix2”具有無效的?TablixMember。TablixColumnHierarchy?中所有?TablixMember?元素的?RepeatOnNewPage?屬性必須設置為?false。),所以建議把標題欄刪除,手工增加文本框代替,放在頁眉處,這樣每頁都會顯示。
4)數據區可多級分組。報表的核心在于數據區,可以分組匯總等。
5)頁眉/頁腳。頁腳可以插入頁碼,加上印章(透明處理參見第23章)等。
提醒:如果報表外掛程序在集成到ERP前運行得好好的,集成后出錯,最大的可能性有2種:其一如果提示“此程序集的運行時比當前加載的運行時新,無法加載此程序集”,則是因為選錯了.NET版本(參見“圖30-28?選.NET Framework 3.5”);其二如果報表無法顯示,則是因為報表路徑錯了,或者報表文件Report1.rdlc沒有和外掛程序一起復制到ERP的外掛程序目錄中。
圖:報表設計特點(注意點)
圖:把“報表”的“ConsumeContainerWhitesapce”屬性值改為True
]]>
外掛程序作用:擴充ERP功能。滿足企業的行業化、個性化需求。
外掛程序接口特點:
ERP根目錄\外掛程序\W1\
外掛程序集成在幣加德ERP的菜單欄中,如下圖。
圖:外掛程序接口及系統集成位置
本節使用Visual Studio 2013(速成版、社區版、專業版、高級版、旗艦版都可以,前面2個版本是免費的)來開發外掛程序,如果你使用的是其他版本的Visual Studio,也可以參照學習,大同小異。本節先用完整詳細的步驟介紹一個最簡單的外掛程序的開發,通過此外掛的學習,可以完全掌握外掛的開發方法。然后用較簡潔的步驟介紹如何開發報表外掛,這個案例很實用,企業的程序開發人員或ERP代理服務商經常需要從企業ERP中取數,開發分析報表或開發定制格式的打印單據。
①打開Visual Studio 2013,點【文件】/【新建】/【項目】,如下圖。
圖:新建項目
②在“新建項目”窗口,選擇【Visual C#】/【Windows 窗體應用程序】,名稱為“W1”,如下圖。
圖:選擇Windows 窗體應用程序
③從“工具箱”中拖一個Label到窗體設計界面,如下圖。
圖:拖一個標簽到設計面板
④雙擊設計面板,打開代碼編輯窗口,輸入以下代碼,如下圖。
public?string?_userID =?“”; ????//登錄用戶ID
public?void?ShowMe(string?userID,?string?serverIP,?string?dbName,?string?saPassword,?string?curDir)//鉤子方法
{
_userID = userID; ??????????//傳遞用戶登錄ID
label1.Text =?“登錄用戶ID:”?+ _userID;//標簽顯示
base.Show();//顯示窗體
}
圖:寫程序代碼
提醒:不管寫什么類型的外掛程序,都需要上面的代碼,相當于ERP與外掛程序之間約定的一種協議,目的在于把ERP系統當前的登錄用戶ID傳遞給外掛程序,并打開外掛程序的主窗體。除此之外,外掛程序與普通的Windows窗體程序沒有任何區別。
外掛程序可以查詢ERP的后臺數據表,但千萬別修改(刪除)數據,這是一個基本的原則。否則出錯后無法核查是ERP的問題,還是外掛程序的問題。
⑤鼠標右鍵項目名稱,在上下文菜單中選【屬性】,在打開的窗口中,“目標框架”選擇“.NET Framework 2.0”(為了兼容老電腦),“輸出類型”選“類庫”(如果選“Windows應用程序”,用戶可以越過權限設置,直接運行外掛程序),如下圖。
圖:設置項目屬性
⑥再次點【啟動】,系統會報錯(因上一步中改變了目標框架),修正錯誤,如下圖。
圖:修改錯誤
⑦再次點【啟動】,系統會彈出無法直接啟動類庫項目的錯誤,這正是所要的,如下圖。
圖:彈出無法直接啟動類庫項目的錯誤
⑧打開外掛程序的輸出目錄(參見“圖30-3 選擇Windows 窗體應用程序”選定的位置),并把外掛程序復制到ERP的外掛程序目錄,如下圖。
圖:拷貝外掛程序至ERP外掛目錄
①打開【系統設置】/【外掛程序接口】,選擇子系統,配置外掛程序接口參數,測試是否可以正常打開外掛程序,最后點【保存并應用】,如下圖。
外掛程序接口參數:
圖:外掛程序接口
提醒:外掛程序?+ ERP數據字典?=?無限擴展?ERP?功能!
(無需“幣加德ERP系統”源代碼)
]]>自定義報表特點:只需寫好?SQL?語句,并在“SQL?命令行工具”里面執行正常,
再通過配置查詢條件即可。
自定義報表集成在幣加德ERP的菜單欄中,如下圖。
圖:自定義報表步驟及系統集成位置
①準備SQL語句。按照上一小節介紹的方法準備SQL語句,如下圖。
圖:準備SQL語句
②報表設計。打開【系統設置】/【自定義報表設計】,如下圖。
圖:自定義報表
點【新增】,按如下圖所示的步驟進行操作。上面“報表代碼/報表名稱”會顯示在ERP導航菜單的“自定義報表”的子菜單中;中間的SQL語句是核心,表示要查詢的內容;下面“指定查詢字段”部分,操作類似于前面章節所講的自定義字段,用來指定查詢條件,這部分指定的查詢字段必須存在于中間的SQL語句中,且“字段名”與SQL中的查詢字段名要匹配,否則查詢會出錯。
自定義報表的SQL語句,最常用的就是從多個表取數,比如要分析客戶的銷貨情況,則需要從客戶表、銷售訂單表、銷售訂單身表、銷售出庫單表、銷售出庫單身表等取數,把這些表按照主鍵、外鍵的關系連接起來進行查詢,連接查詢的基礎知識在前面“自定義字段”部分已經講解過。
圖:自定義報表設計(修改界面,新增類似)
③報表顯示。在上圖中點【保存并預覽】,將打開剛剛設計的報表,并把它集成到系統導航菜單中(參見“圖:自定義報表步驟及系統集成位置”)。
自定義報表的查詢條件分為2個部分:
基礎查詢條件:顯示在自定義報表的表格上方,只支持等值查詢,通常把最常用的查詢條件放在這里。
高級查詢條件:當點【查詢】時打開“高級查詢條件”窗口,除了支持等值查詢外,還支持其他查詢操作符,比如:大于、大于等于、小于、小于等于、不等于、相似于。
當點“高級查詢條件”窗口的【確定】時關閉該條件窗口,執行查詢,此時的查詢條件是“基礎查詢條件”和“高級查詢條件”的疊加。當再次點【查詢】時,系統會保留上次的查詢條件,方便在此基礎上進行更改,以再行查詢。
圖:報表顯示
提醒:自定義報表和ERP內置的報表類似,可以導出Excel,也可以打印,如下圖。整個過程只需要寫好SQL語句,外加簡單配置即可,無需寫程序代碼!!!
圖:打印預覽
]]>自定義表單特點:無需編寫程序代碼,通過配置實現“增刪改查”。
自定義表單集成在幣加德ERP的菜單欄中,如下圖。
圖:自定義表單步驟及系統集成位置
(1)簡單表單(對應于數據庫后臺1個表)。簡單表單用于收集清單數據,收集完的數據,可以在系統內置表單的自定義字段中引用,最終效果如下圖。
圖:簡單表單
①建表。打開【系統設置】/【數據字典】,按下圖進行操作(注意主鍵)。數據表命名規則:3字母(表示子系統) + 3數字(流水),例如:ACC030。數據字段命名規則:小寫字母 c + 3數字,例如:c010、c020、……。最后點【文件】/【保存】。
圖:建表
②表單設計。打開【系統設置】/【自定義表單】,如下圖。
圖:自定義表單
點【新增】,表單代碼的命名規則:BD+3位數字,比如 BD010。如下圖進行操作。
圖:表單設計(修改界面,新增類似)
③表單顯示。在上圖中點【保存并預覽】,可以打開“圖:簡單表單”一樣的界面,并把自定義表單集成到了系統中(參見“圖:自定義表單步驟及系統集成位置”)。
提醒:根據自定義表單設計時的規則,自動組裝生成表單,和?ERP?基礎數據部分的界面類似。無需寫程序代碼!!!
(2)復雜表單(對應于數據庫后臺2個表)。復雜表單類似于系統內置單據,比如銷售訂單,通過復雜表單收集的數據,也可以在系統內置表單的自定義字段中引用,如下圖。
圖:復雜表單
①建表。打開【系統設置】/【數據字典】,復雜表單對應于后臺數據庫的2個表(1個單頭,1個單身),按下圖進行操作(注意主鍵)。數據表命名規則:3字母(表示子系統) + 3數字(流水),例如:ACC030。數據字段命名規則:小寫字母 c + 3數字,例如:c010、c020、……。最后點【文件】/【保存】。
圖:建表
②表單設計。打開【系統設置】/【自定義表單】,如下圖。
圖:自定義表單
點【新增】,表單代碼的命名規則:BD+3位數字,比如 BD020。如下圖進行操作。
圖:表單設計(修改界面,新增類似)
③表單顯示。在上圖中點【保存并預覽】,可以打開“圖:復雜表單”一樣的界面,并把自定義表單集成到了系統中(參見“圖:自定義表單步驟及系統集成位置”)。
提醒:根據自定義表單設計時的規則,自動組裝生成表單,和?ERP單據部分的界面類似。無需寫程序代碼!!!
]]>圖:數據庫字典
提醒:通過數據字典可以深入理解幣加德ERP的后臺數據庫的邏輯,不僅在自定義字段時用得到,而且在后續章節的自定義表單、自定義報表、外掛程序也需要。
參考:
數據字典通過對數據項和數據結構的定義,來描述數據流、數據存儲的邏輯內容。 數據字典是關于數據的信息的集合,也就是對“數據流圖”中包含的所有元素的定義的集合。數據字典還有另一種含義,是在“數據庫設計”時用到的一種工具,用來描述數據庫中基本表的設計,主要包括:字段名 、數據類型、主鍵、 外鍵 等描述表的屬性的內容。
]]>
圖:SQL命令行工具
圖:根據模板生成SQL語句
圖:拖拽表名稱節點生成SQL語句片段
提醒:SQL命令行工具會直接操作后臺數據庫表,如果誤操作會導致數據丟失,最好先在測試賬套測試好之后再應用到正式賬套上,以免誤操作損壞實際業務數據。
數據庫主要包括增、刪、改、查等基本操作,以下為設計到的常用的sql語句:
一、查
1.select 語法查詢
SELECT?column_name,column_name?FROM?table_name
其中column_name為數據庫表列名字段,table_name為表名稱
如:select * from people 表示查詢people表內所有列,返回所有記錄,*表示所有列
如:select? name,age from people 表示查詢people表內名稱為name和age的列
2.select distinct 語法,查詢非重復項
SELECT DISTINCT?column_name,column_name?FROM?table_name
添加?DISTINCT 關鍵字會對查詢結果進行去重,返回唯一的值,注意:查詢多個列時,只有多個列的值全都相同,才認為是相同的結果,否則不會去重
3.where 語法
SELECT column_name,column_name FROM table_name WHERE column_name operator value
如:select * from people where name=’小明’ 表示查詢people表內,名為“小明”的記錄
4.and 和 or 運算符
and 和 or 運算符連接多個查詢條件,配合where語法使用
如:select * from people where age>20 and country=’CN’ 表示查詢ipeople 表內age字段值大于20并且country 字段為“CN”的記錄
二、增
1.insert into 語句
INSERT INTO table_name VALUES (value1,value2,value3,…),此語法需要把所有列的值寫全,否則不成功
INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…)
如:insert into people (name,age) values (‘張三’,30),表示向people表內插入一條記錄,name為“張三”,age為30
三、改
1.update 語句
UPDATE table_name SET column1=value1,column2=value2, … WHERE some_column=some_value
如:update people set name=’李四’,age=’31’ where name=’張三’,表示將people表內name等于“張三”的記錄,name改為“李四”,age改為31
四、刪
1.delete 語句
DELETE FROM table_name WHERE some_column=some_value
如:delete from people where name=’張三’,表示刪除people表內name為“張三”的記錄
以上為最簡單的sql語法!
]]>