RaUI/Source/Itrycn_Project2/Public/Fun/Itrycn_Db.cs
zilinsoft 7ff45b3074 ## 📅2026-06-04 星期四更新
### RaUI    V4.0.2606.0401
- *.[新增]QuickWeb新增支持重试次数。
- *.[新增]RySetting类新增支持json格式设置存储和获取。
- *.[新增]RySetting类新增支持读取设置到内存,然后按配置名称读取。
- *.[新增]新增SuperFileSearch类,文件查找。
- *.[新增]QuickWeb新增CurPageUrl属性。
- *.[新增]HardWare新增支持获取显示器信息。
- *.[新增]HardWare新增GetWMI函数。
- *.[改进]QuickWeb类的UA从IE改为Edge。
- *.[改进]Hosts类IP与域名分隔符从\t改为三个空格。
- *.[改进]RyImage的CropOrFill函数,如果输入的长宽比例与原图一致,则返回原图的副本而不是原图。
- *.[改进]RySoft类的CompareVer函数支持特殊格式的版本号。
- *.[改进]QuickWeb的ConvertUrl函数新增支持自动从CurPageUrl获取。
- *.[改进]DateDiff函数对时间差异小于等于10秒的,自动加上毫秒数据。
- *.[修复]修复ObjectListView控件的AspectGetter方法可能调用null对象的问题。
- *.[修复]修复日期选择控件在获取节假日数据时,会因为节假日文件夹无法访问而报错的问题。
- *.[修复]修复某些情况下剪切板权限问题导致ObjectListView控件报错。
- *.[修复]修复RyImage的CropOrFill函数图片比例不一致时,也是返回原图副本的BUG。
### Itrycn_Project2    V1.0.2606.0401
- *.[改进]将公共调用,无需新增内容的部分代码,改到Public文件夹下
2026-06-04 09:40:37 +08:00

127 lines
4.3 KiB
C#

using ryCommon;
using ryCommonDb;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using static ryCommonDb.DataProvider;
namespace Public.Fun
{
public static class Itrycn_Db
{
public static string SQLConnStr = "<app>\\UserDb\\myDb.dat|";
public static ryCommonDb.DataProvider.DataProviderType dataType = ryCommonDb.DataProvider.DataProviderType.SQLiteDataProvider;
public static IDbInterface CreateDataProvider()
{
return CreateDataProvider(dataType);
}
public static IDbInterface CreateDataProvider(DataProviderType dataProviderType)
{
switch (dataProviderType)
{
//case DataProviderType.OdbcDataProvider:
// return new OdbcDataProvider();
//case DataProviderType.OleDbDataProvider:
// return new OleDbDataProvider();
//case DataProviderType.OracleDataProvider:
// return new OracleDataProvider();
case DataProviderType.SQLiteDataProvider:
return new SQLiteDataProvider();
default:
return null;
}
}
private static void CreateTable(ryCommonDb.DataProvider.DataProviderType dataType, string ConnStr)
{
IDbInterface db = CreateDataProvider(dataType);
if (db.ConnDb(ConnStr) == 1)
{
#region 1
RyQuickSQL mySQL = new RyQuickSQL("test1");
//mySQL.AddField("", "");
mySQL.AddField("addTime", DateTime.Now);
mySQL.AddField("editTime", DateTime.Now);
db.CreateDb(mySQL);
#endregion
//
#region
mySQL.Clear();
mySQL.TableName = "Setting";
mySQL.AddField("name", "");
mySQL.AddField("info", "");
db.CreateDb(mySQL);
#endregion
}
db.Free();
}
/// <summary>
/// 保存设置
/// </summary>
/// <returns>返回大于0的数,表示设置成功,否则表示失败</returns>
public static int SetSetting(string name ,string info)
{
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
{
RyQuickSQL mySQL = new RyQuickSQL("Setting");
mySQL.AddField("name", name);
mySQL.AddField("info", info);
var result = db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where name='" + name + "'", mySQL);
if (result == 0)
{
result=db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL);
}
return result;
}
db.Free();
return -1000;
}
/// <summary>
///获取设置
/// </summary>
/// <returns></returns>
public static string GetSetting(string name, string defValue)
{
DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
var result = defValue;
if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
{
DataSet ds = db.ReadData("select * from Setting where name='"+ name + "'");
if (mydb.HaveData(ds))
{
DataRow reader = ds.Tables[0].Rows[0];
#region
result = reader["Name"].ToString();
#endregion
}
}
db.Free();
return result;
}
/// <summary>
/// 获取数据库版本
/// </summary>
/// <returns></returns>
public static int GetDbVer()
{
return GetSetting("dbVer","1").ToInt();
}
/// <summary>
/// 设置数据库版本
/// </summary>
/// <returns></returns>
public static int SetDbVer(int DbVer)
{
return SetSetting("dbVer", DbVer.ToString());
}
public static void CreateTable()
{
CreateTable(dataType, SQLConnStr);
}
}
}