• C#之WPF连接sqllite数据库


    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.SQLite;
    
    namespace EasyEnergy.AppLogicService
    {
        public class AlarmSqliteDbHelp
        {
    
            public static string ConnSqlLiteDbPath = @"D:data	est.data";
    
            public static string ConnString
            {
                get
                {
                    return string.Format("Data Source={0}", ConnSqlLiteDbPath);
                }
            }
    
            public static int ExecuteRefId(string sql)
            {
                SQLiteConnection connection;
                SQLiteTransaction transaction = null;
                try
                {
                    connection = new SQLiteConnection(ConnString);
                    connection.Open();
                    var command = new SQLiteCommand(connection)
                    {
                        CommandText = sql + ";SELECT last_insert_rowid()"
                    };
                    return Convert.ToInt32(command.ExecuteScalar());
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
    
            public static int Execute(string sSQL, bool bUseTransaction = false)
            {
                int num;
                SQLiteConnection connection;
                //if (!bUseTransaction)
                //{
                //    connection = new SQLiteConnection(ConnString);
                //    connection.Open();
                //    var command = new SQLiteCommand(connection) {
                //        CommandText = sSQL
                //    };
                //    return command.ExecuteNonQuery();
                //}
                SQLiteTransaction transaction = null;
                try
                {
                    connection = new SQLiteConnection(ConnString);
                    connection.Open();
                    transaction = connection.BeginTransaction();
                    num = new SQLiteCommand(connection) { CommandText = sSQL }.ExecuteNonQuery();
                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
                return num;
            }
    
            public static DataTable GetDataTable(string sSQL)
            {
                var connection = new SQLiteConnection(ConnString);
                connection.Open();
                var command = new SQLiteCommand
                {
                    CommandText = sSQL,
                    Connection = connection
                };
                var adapter = new SQLiteDataAdapter(command);
                var dataTable = new DataTable("table");
                adapter.Fill(dataTable);
                return dataTable;
            }
    
            public static int GetMaxId(string sKeyField, string sTableName)
            {
                DataTable dataTable = GetDataTable("select ifnull(max([" + sKeyField + "]),0) as MaxID from [" + sTableName + "]");
                if ((dataTable != null) && (dataTable.Rows.Count > 0))
                {
                    return Convert.ToInt32(dataTable.Rows[0][0].ToString());
                }
                return 0;
            }
    
            public static object GetSingle(string sSQL)
            {
                DataTable dataTable = GetDataTable(sSQL);
                if ((dataTable != null) && (dataTable.Rows.Count > 0))
                {
                    return dataTable.Rows[0][0];
                }
                return null;
            }
    
        }
    }
  • 相关阅读:
    配置secondarynamenode主机名masters
    配置secondarynamenode主机名masters
    Redis 数据备份与恢复
    Redis 数据备份与恢复
    以太坊:Go、Java、Python、Ruby、JS客户端介绍
    以太坊:创建安全多签名钱包及高级设置
    以太坊:导入预售钱包,更新、备份、恢复账号
    以太坊客户端的选择与安装
    以太坊:C++客户端的安装与定制(一)
    2019最受欢迎数据库:MySQL居首PostgreSQL第二Oracle位列第八
  • 原文地址:https://www.cnblogs.com/zdfbk/p/6993179.html
Copyright © 2020-2023  润新知