SQLite在C#的使用


SQLite用於存取程序中固定的值

1 首先從官網上下載SQLite對於.Net的插件

地址:https://skydrive.live.com/?cid=ba8e07f137f7785d#cid=BA8E07F137F7785D&id=BA8E07F137F7785D%21129

2 添加SQLite的引用

3 使用。

4 如果成功,我們可以通過火狐瀏覽器的SQLite Manager進行查看表數據。

 

代碼如下:

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

namespace OD.Frm
{
    public partial class StartFrm : Form
    {
        delegate string ShowMSG();//定義委托獲取線程內返回內容
        public StartFrm()
        {
            InitializeComponent();
        }
        public string CreateDefaultDatabase()
        {
            OD.BLL.LocalDataBaseBLL defaultdata = new BLL.LocalDataBaseBLL();
            if (defaultdata.CreateDataBase())//如果創建數據庫成功創建基礎資料表
            {
                OD.BLL.DefaultConfigBLL defaultconfig = new BLL.DefaultConfigBLL(defaultdata);
                defaultconfig.CreatePaymentTable();
                defaultconfig.CreateRefundStateTable();
                defaultconfig.CreateTradeStateTable();
                defaultconfig.CreateTradeTypeTable();
                defaultconfig.CreateTaskTypeTable();
                defaultconfig.CreateTaskTable();
                defaultconfig.CreateShopTable();
                defaultconfig.ErrorLog();
                defaultconfig.CreateTaskErrorStore();
                defaultconfig.createDeliveryMethodType(); 
            }
            return "success";
        }

        private void StartFrm_Load(object sender, EventArgs e)
        {
           ShowMSG task= CreateDefaultDatabase;
           IAsyncResult asyncResult = task.BeginInvoke(MethodCompleted, task);

        }

        private void MethodCompleted(IAsyncResult asyncResult)
        {
            if (asyncResult == null) return;
            //textBox1.Text = "success";//(asyncResult.AsyncState as ShowMSG).EndInvoke(asyncResult).ToString();
            DialogResult = System.Windows.Forms.DialogResult.OK;
        }

    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using OD.DAL;
using System.Collections;

namespace OD.BLL
{
    public class LocalDataBaseBLL
    {
        private readonly OD.SqliteData.SqliteDataObject dal = new OD.SqliteData.SqliteDataObject();
        private readonly OD.SqliteData.LocalShop localshop = new SqliteData.LocalShop();
        /// <summary>
        /// 創建數據庫
        /// </summary>
        public bool CreateDataBase()
        {
            string errText = string.Empty;
            dal.CreateDataBase(ref errText);
            if (errText.Length > 0)
            {
                return false;
            }
            return true;
        }
        /// <summary>
        /// 創建表
        /// </summary>
        /// <param name="CommandText">create table T(...</param>
        public bool CreateTable(string CommandText)
        {
           return dal.CreateTable(CommandText);
        }
        /// <summary>
        /// 執行多條SQL語句,實現數據庫事務。
        /// </summary>
        /// <param name="SQLStringList">多條SQL語句</param>        
        public void ExecuteSqlTran(ArrayList SQLStringList)
        {
            dal.ExecuteSqlTran(SQLStringList);
        }
        /// <summary>
        /// 執行一條語句
        /// </summary>
        public int Add(string strSql)
        {
            return dal.Add(strSql);
        }
        /// <summary>
        /// 返回一個DataSet結果集
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public DataSet GetList(string strSql)
        {
            return dal.GetList(strSql);
        }
        /// <summary>
        /// 返回首行首列
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public object GetScalar(string strSql)
        {
            return dal.GetScalar(strSql);
        }
        /// <summary>
        /// 是否存在該記錄
        /// </summary>
        public bool Exists(string strSql)
        {
            return dal.Exists(strSql);
        }
        /// <summary>
        /// 查詢本地數據庫是否存在
        /// </summary>
        public static bool ExistsDataBase()
        {
            return OD.SqliteData.SqliteDataObject.ExistsDataBase();
        }
        /// <summary>
        /// 插入或更新店鋪
        /// </summary>
        /// <param name="shopid">店鋪編號</param>
        /// <param name="ptid">平台ID</param>
        /// <param name="title">店鋪名</param>
        /// <param name="appkey">appkey</param>
        /// <param name="appsecret">appsecret</param>
        /// <param name="sessionkey">sessionkey/accesstoken</param>
        /// <param name="createtime">createtime</param>
        /// <returns></returns>
        public bool InsertShop(string shopid, int ptid, string title, string appkey, string appsecret, string sessionkey, string createtime)
        {
            return localshop.InsertShop(shopid, ptid, title, appkey, appsecret, sessionkey, createtime);
        }
    }
}

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Collections;
using System.IO;

namespace OD.SqliteData
{
    public class SqliteDataObject
    {
        /// <summary>
        /// 創建數據庫
        /// </summary>
        public void CreateDataBase(ref string errText)
        {
            SQLiteHelper.CreateDataBase(ref errText);
        }
        /// <summary>
        /// 創建表
        /// </summary>
        /// <param name="CommandText">create table T(...</param>
        public bool CreateTable(string CommandText)
        {
            return SQLiteHelper.CreateTable(CommandText);
        }
        /// <summary>
        /// 執行多條SQL語句,實現數據庫事務。
        /// </summary>
        /// <param name="SQLStringList">多條SQL語句</param>        
        public void ExecuteSqlTran(ArrayList SQLStringList)
        {
            SQLiteHelper.ExecuteSqlTran(SQLStringList);
        }
        /// <summary>
        /// 執行一條語句
        /// </summary>
        public int Add(string strSql)
        {
            return SQLiteHelper.ExecuteSql(strSql);
        }
        /// <summary>
        /// 返回一個DataSet結果集
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public DataSet GetList(string strSql)
        {
            return SQLiteHelper.Query(strSql);
        }
        /// <summary>
        /// 返回首行首列
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public object GetScalar(string strSql)
        {
            return SQLiteHelper.GetSingle(strSql);
        }
        /// <summary>
        /// 是否存在該記錄
        /// </summary>
        public bool Exists(string strSql)
        {
            return SQLiteHelper.Exists(strSql);
        }
        /// <summary>
        /// 查詢本地數據庫是否存在
        /// </summary>
        public static bool ExistsDataBase()
        {
            string datafile = SQLiteHelper.connectionString.Substring(12);
            return File.Exists(datafile);
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using OD.DAL;
using System.Collections;

namespace OD.BLL
{
    public class DefaultConfigBLL
    {
        private LocalDataBaseBLL localdatabase;
        public DefaultConfigBLL(LocalDataBaseBLL Localdatabase)
        {
            this.localdatabase = Localdatabase;
        }
        /**************************Tyler start************************************/
        #region 訂單狀態表
        /// <summary>
        /// 創建訂單狀態表
        /// </summary>
        public void CreateTradeStateTable()
        {
            //bool iscreated = localdatabase.CreateTable("create table TradeState(state_id NUMBER NOT NULL,state_name_en VARCHAR2(60),state_name_cn VARCHAR2(60),ptid NUMBER NOT NULL)");
            bool iscreated = localdatabase.CreateTable("create table TradeState(state_id VARCHAR2(60) NOT NULL,state_name_en VARCHAR2(60),state_name_cn VARCHAR2(60),ptid NUMBER NOT NULL)");
            if (iscreated)
            {
                //淘寶
                AddTradeStateTable(0, "TRADE_NO_CREATE_PAY", "沒有創建支付寶交易", 1);
                AddTradeStateTable(1, "WAIT_BUYER_PAY", "等待買家付款", 1);
                AddTradeStateTable(2, "WAIT_SELLER_SEND_GOODS", "等待賣家發貨,即買家已付款", 1);
                AddTradeStateTable(3, "WAIT_BUYER_CONFIRM_GOODS", "等待買家確認收貨,即賣家已發貨", 1);
                AddTradeStateTable(4, "TRADE_FINISHED", "交易成功", 1);
                AddTradeStateTable(5, "TRADE_CLOSED", "付款以后用戶退款成功,交易自動關閉", 1);
                AddTradeStateTable(6, "TRADE_CANCELED", "付款以前,賣家或買家主動關閉交易", 1);
                AddTradeStateTable(7, "TRADE_BUYER_SIGNED", "買家已簽收,貨到付款專用", 1);
                AddTradeStateTable(8, "TRADE_CLOSED_BY_TAOBAO","交易被淘寶關閉",1);
                AddTradeStateTable(9, "ALL_WAIT_PAY","所有未付款訂單(包含:WAIT_BUYER_PAY、TRADE_NO_CREATE_PAY)",1);
                AddTradeStateTable(10, "ALL_CLOSED","所有關閉的訂單(包含:TRADE_CLOSED、TRADE_CLOSED_BY_TAOBAO)",1);


                AddTradeStateTable(0, "TRADE_NO_CREATE_PAY", "沒有創建支付交易", 3);
                AddTradeStateTable(1, "WAIT_BUYER_PAY", "等待買家付款", 3);
                AddTradeStateTable(2, "WAIT_SELLER_SEND_GOODS", "等待賣家發貨,即買家已付款", 3);
                AddTradeStateTable(3, "WAIT_BUYER_CONFIRM_GOODS", "等待買家確認收貨,即賣家已發貨", 3);
                AddTradeStateTable(4, "TRADE_FINISHED", "交易成功", 3);
                AddTradeStateTable(5, "TRADE_CLOSED", "付款以后用戶退款成功,交易自動關閉", 3);
                AddTradeStateTable(6, "TRADE_CANCELED", "付款以前,賣家或買家主動關閉交易", 3);
                AddTradeStateTable(7, "TRADE_BUYER_SIGNED", "買家已簽收,貨到付款專用", 3);
                AddTradeStateTable(8, "TRADE_CLOSED_BY_SHANGJIA", "交易被商家關閉", 3);


                //京東
                AddTradeStateTable(2,"WAIT_SELLER_STOCK_OUT","等待出庫" ,2);
                AddTradeStateTable(3, "WAIT_GOODS_RECEIVE_CONFIRM","等待確認收貨",2);
                AddTradeStateTable(4, "FINISHED_L", "完成", 2);
                AddTradeStateTable(6, "TRADE_CANCELED", "取消", 2);
                AddTradeStateTable(7, "RECEIPTS_CONFIRM", "收款確認(服務完成)(只適用於LBP,SOPL商家)", 2);
                AddTradeStateTable(11, "SEND_TO_DISTRIBUTION_CENER", "發往配送中心(只適用於LBP,SOPL商家)", 2);
                AddTradeStateTable(12,"DISTRIBUTION_CENTER_RECEIVED","配送中心已收貨(只適用於LBP,SOPL商家)",2);

                //拍拍


                //一號店
                AddTradeStateTable(1, "ORDER_WAIT_PAY", "已下單(貨款未全收)", 7);
                AddTradeStateTable(2, "ORDER_PAYED", "已下單(貨款已收)", 7);
                AddTradeStateTable(3, "ORDER_RECEIVED", "貨物用戶已收到", 7);
                AddTradeStateTable(4, "ORDER_FINISH", "訂單完成", 7);
                AddTradeStateTable(6, "ORDER_CANCEL", "訂單取消", 7);
                AddTradeStateTable(2, "ORDER_TRUNED_TO_DO", "可以發貨(已送倉庫)", 7);
                AddTradeStateTable(2, "ORDER_CAN_OUT_OF_WH", "可出庫", 7);
                AddTradeStateTable(15, "ORDER_OUT_OF_WH", "已出庫(貨在途)", 7);
                AddTradeStateTable(16, "ORDER_SENDED_TO_LOGITSIC", "已發送物流", 7);
                AddTradeStateTable(17, "ORDER_CUSTOM_CALLTO_RETURN", "用戶要求退貨", 7);
                AddTradeStateTable(18, "ORDER_CUSTOM_CALLTO_CHANGE", "用戶要求換貨", 7);
                AddTradeStateTable(19, "ORDER_RETURNED", "退貨完成", 7);
                AddTradeStateTable(20, "ORDER_CHANGE_FINISHED", "換貨完成", 7);

                //買買茶

                //雲媒

                //舒寧易購

                /*AddTradeStateTable(8, "TRADE_CALLTO_RETURN", "用戶要求退貨", 1);
                AddTradeStateTable(9, "TRADE_CALLTO_CHANGE", "用戶要求換貨", 1);
                AddTradeStateTable(10, "TRADE_RETURNED", "退貨完成", 1);
                AddTradeStateTable(11, "TRADE_CHANGE_FINISHED", "換貨完成", 1);*/
            } 
        }
     }
 }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM