基本信息
源码名称:记账本-记账助手完整源码下载(含安装包项目)
源码大小:1.66M
文件格式:.rar
开发语言:C#
更新时间:2014-03-28
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
还不错啊,记账助手
还不错啊,记账助手
using System; using System.Windows.Forms; using System.Data.SQLite; using System.IO; using System.ComponentModel; namespace AccountBook.ForSingle { public partial class Splash : Form { private static readonly string dbName = "AccountBookforSingle.db"; private static Splash _instance; public static Splash Instance { get { if (_instance == null) { _instance = new Splash(); } return _instance; } } private Timer _ticker; public Timer Ticker { get { if (_ticker == null) { _ticker = new Timer(this.components); _ticker.Interval = 2000; _ticker.Tick = new System.EventHandler(_ticker_Tick); } return _ticker; } } private enum DBStateEnum { Undefined, Ready, Failed } private DBStateEnum _dbState = DBStateEnum.Undefined; private DBStateEnum DBState { get { return _dbState; } set { _dbState = value; } } private void _ticker_Tick(object sender, System.EventArgs e) { if (DBState == DBStateEnum.Ready) { this.DialogResult = DialogResult.OK; this.Close(); } else if (DBState == DBStateEnum.Failed) { if (string.IsNullOrEmpty(this.lblMessage.Text)) { this.lblMessage.Text = ErrorMessage; } else { this.DialogResult = DialogResult.Cancel; this.Close(); } } } private BackgroundWorker _worker; private BackgroundWorker Worker { get { if (_worker == null) { _worker = new BackgroundWorker(); _worker.DoWork =new DoWorkEventHandler(_worker_DoWork); } return _worker; } } private void _worker_DoWork(object sender, DoWorkEventArgs e) { CheckDBConnection(); } private Splash() { InitializeComponent(); SetDialogInfo(); Ticker.Start(); Worker.RunWorkerAsync(); } private string _errorMessage; private string ErrorMessage { get { return _errorMessage; } set { _errorMessage = value; } } private void CheckDBConnection() { string basePath = System.AppDomain.CurrentDomain.BaseDirectory; string dbPath = Path.Combine(basePath, dbName); try { if (!File.Exists(dbPath)) { SQLiteConnection.CreateFile(dbPath); } GlobalContext.connString = string.Format("Data Source={0};", dbPath); using (SQLiteConnection conn = new SQLiteConnection(GlobalContext.connString)) { conn.Open(); if (conn.GetSchema("Tables").Select(string.Format("Table_Name = '{0}'","AccountRecord")).Length == 0) { using(SQLiteCommand cmd = new SQLiteCommand(createAccountRecordSql, conn)) { cmd.ExecuteNonQuery(); } } conn.Close(); } DBState = DBStateEnum.Ready; } catch (Exception) { ErrorMessage = "连接本地数据库失败"; DBState = DBStateEnum.Failed; } } private static readonly string createAccountRecordSql = @"create table AccountRecord ( RecordID integer primary key autoincrement, ConsumeDate datetime not null default(datetime('now','localtime')), ConsumeAmount decimal(10,2) not null, Category nchar(4) not null, SubCategory nvarchar(32) );"; private void SetDialogInfo() { lblVer.Text = string.Format("Ver: {0}", Application.ProductVersion); lblBy.Text = string.Format("By: {0}", "chen wu"); } } }