SmartHouseAPI/Source/MyHouse/Config/Itrycn_Db.cs
zilinsoft f0ff641ed4 ## 2025-02-08 星期六更新
### MyHouse    V1.0.2502.0801
- *.[新增]适配新版接口。
### SmartHouseAPI    V1.0.2502.0801
- *.[新增]支持Docker部署,支持NAS。
2025-02-08 17:01:20 +08:00

145 lines
5.1 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;
using static ScintillaNETV2.Style;
namespace MyHouse
{
public static class Itrycn_Db
{
public static string UserId { get; set; } = "zilinsoft";
public static string SQLConnStr = "Server=192.168.3.201;Database=MyHouse;Uid=root;Pwd=LIFENGXIN120120;charset=UTF8;";
public static ryCommonDb.DataProvider.DataProviderType dataType = ryCommonDb.DataProvider.DataProviderType.MySqlDataProvider;
public static IDbInterface CreateDataProvider()
{
return CreateDataProvider(dataType);
}
public static string GetNickName(string UserId)
{
return "紫林";
}
public static string GetLocationIdPath(int ParentId)
{
var jsonResult = API.API.Post("Goods", "GetLocationIdPath", "ParentId="+ ParentId);
if (jsonResult.IsOK)
{
return jsonResult.Get("datas","");
}
return "";
}
public static void SetLocationIdPath(int ParentId)
{
var jsonResult = API.API.Post("Goods", "SetLocationIdPath", "id=" + ParentId);
}
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.MySqlDataProvider:
return new MySqlDataProvider();
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>
private 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>
private 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);
}
}
}