------ #### SuperDesign V3.0.2412.2001 - *.[新增]新增程序更新日志设置和自动发布功能。 - *.[修复]修复Post数据格式不正确时双击文本框会导致软件闪退的BUG。
284 lines
10 KiB
C#
284 lines
10 KiB
C#
using ryCommon;
|
|
using ryCommonDb;
|
|
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;
|
|
using 开发辅助工具.Manager;
|
|
|
|
namespace GameBackup3H3.DbOp
|
|
{
|
|
public partial class FrmFTPView : Form
|
|
{
|
|
readonly string orderSQL = "order by addTime desc";
|
|
readonly string tableName = "FTP";
|
|
readonly string titleName = "FTP管理";
|
|
public FrmFTPView()
|
|
{
|
|
InitializeComponent();
|
|
OlvName.AspectGetter = delegate (object x) { return ((FTPInfo)x).Name; };
|
|
OlvIP.AspectGetter = delegate (object x) { return ((FTPInfo)x).IP; };
|
|
OlvPort.AspectGetter = delegate (object x) { return ((FTPInfo)x).Port; };
|
|
OlvUserName.AspectGetter = delegate (object x) { return ((FTPInfo)x).UserName; };
|
|
OlvAddTime.AspectGetter = delegate (object x) { return ((FTPInfo)x).AddTimeStr; };
|
|
}
|
|
#region 需要修改的内容
|
|
private void RySearch1_OnSearch(object sender, EventArgs e)
|
|
{
|
|
//需要修改此处
|
|
LoadDb("(name like @SearchText or des like @SearchText)");
|
|
}
|
|
|
|
private void CtlMyPage1_OnPageChange(object sender, EventArgs e)
|
|
{
|
|
#region 重新载入数据
|
|
LvCbResult.ClearObjects();
|
|
List<FTPInfo> list = new List<FTPInfo>();
|
|
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
|
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
|
{
|
|
DataSet ds = db.ReadData(ctlMyPage1.GetSQLText, ctlMyPage1.T_Parameters);
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
DataRow row = ds.Tables[0].Rows[i];
|
|
list.Add(new FTPInfo()
|
|
{
|
|
Id=row["id"].ToInt(),
|
|
Name = row["name"].ToString(),
|
|
IP = row["ip"].ToString(),
|
|
Port = row["port"].ToInt(),
|
|
RemoteDir = row["remoteDir"].ToString(),
|
|
UserName = row["username"].ToString(),
|
|
Pwd = row["pwd"].ToString(),
|
|
Encrypt = row["encrypt"].ToInt(0,2,0),
|
|
AddTime = row["AddTime"].ToDateTime()
|
|
}) ;
|
|
}
|
|
}
|
|
db.Free();
|
|
LvCbResult.AddObjects(list);
|
|
#endregion
|
|
}
|
|
private void GetRow(int id, int index)
|
|
{
|
|
#region 重新载入数据
|
|
DataProvider mydb = new DataProvider();
|
|
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
|
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
|
{
|
|
DataSet ds = db.ReadData("select * from " + tableName + " where id=" + id);
|
|
if (mydb.HaveData(ds))
|
|
{
|
|
DataRow row = ds.Tables[0].Rows[0];
|
|
var item=(FTPInfo) LvCbResult.GetModelObject(index);
|
|
item.Name = row["name"].ToString();
|
|
item.IP = row["ip"].ToString();
|
|
item.Port = row["port"].ToInt();
|
|
item.RemoteDir = row["remoteDir"].ToString();
|
|
item.UserName = row["username"].ToString();
|
|
item.Pwd = row["pwd"].ToString();
|
|
item.Encrypt = row["encrypt"].ToInt(0, 2, 0);
|
|
//添加剩余的项目
|
|
//添加完毕
|
|
LvCbResult.UpdateObject(item);
|
|
}
|
|
}
|
|
db.Free();
|
|
#endregion
|
|
}
|
|
#endregion
|
|
public void LoadDb(string whereSQL)
|
|
{
|
|
string _whereSQL = whereSQL;
|
|
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
|
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
|
{
|
|
#region 重新载入数据
|
|
db.AddParameter("SearchText", "%" + rySearch1.Text + "%");
|
|
ctlMyPage1.RecordCount = db.GetCount(tableName, _whereSQL);
|
|
ctlMyPage1.T_Parameters = db.GetParameter();
|
|
ctlMyPage1.SQLText= db.GetPageSQL(tableName, _whereSQL, orderSQL);
|
|
ctlMyPage1.SQLText2 = db.GetPageSQL2(tableName, _whereSQL, orderSQL);
|
|
ctlMyPage1.GotoPageIndex(1);
|
|
#endregion
|
|
}
|
|
db.Free();
|
|
}
|
|
|
|
private void BtnAdd_Click(object sender, EventArgs e)
|
|
{
|
|
FrmAddFTP frm = new FrmAddFTP()
|
|
{
|
|
Text = "添加"+ titleName,
|
|
Icon = Icon,
|
|
isAdd = 1
|
|
};
|
|
frm.mr = new ModalForm(this, frm);
|
|
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
|
|
if (dg == DialogResult.OK)
|
|
{
|
|
rySearch1.PerformClick();
|
|
}
|
|
});
|
|
frm.mr.ShowModal();
|
|
}
|
|
|
|
private void BtnEdit_Click(object sender, EventArgs e)
|
|
{
|
|
if (LvCbResult.SelectedObject == null) { return; }
|
|
var item = (FTPInfo)LvCbResult.SelectedObject;
|
|
var selectId = item.Id;
|
|
FrmAddFTP frm = new FrmAddFTP()
|
|
{
|
|
Text = "修改"+ titleName,
|
|
Icon = Icon,
|
|
isAdd = 0
|
|
};
|
|
frm.GetInfo(selectId.ToString());
|
|
frm.mr = new ModalForm(this, frm);
|
|
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
|
|
if (dg == DialogResult.OK)
|
|
{
|
|
GetRow(selectId, LvCbResult.SelectedIndex);
|
|
}
|
|
});
|
|
frm.mr.ShowModal();
|
|
}
|
|
|
|
private void BtnDel_Click(object sender, EventArgs e)
|
|
{
|
|
if (LvCbResult.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
|
|
var item = (FTPInfo)LvCbResult.SelectedObject;
|
|
var selectId = item.Id;
|
|
switch (MessageBox.Show("确定要删除该项吗?一旦删除将不可恢复。", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
|
|
{
|
|
case DialogResult.No:
|
|
return;
|
|
}
|
|
//DataProvider mydb = new DataProvider();
|
|
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
|
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
|
{
|
|
var ds = db.ReadData("select * from Site where ftpId=" + selectId + " limit 1");
|
|
if (ds.HaveData())
|
|
{
|
|
ds.Dispose();
|
|
db.Free();
|
|
MessageBox.Show("当前FTP正在被使用,无法删除。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return;
|
|
}
|
|
ds?.Dispose();
|
|
db.DelById(tableName, selectId.ToString());
|
|
LvCbResult.RemoveObject(item);
|
|
}
|
|
}
|
|
|
|
private void FrmView_Load(object sender, EventArgs e)
|
|
{
|
|
Text = "浏览"+ titleName;
|
|
添加数据ToolStripMenuItem.Text = "添加"+ titleName;
|
|
修改数据ToolStripMenuItem.Text = "修改" + titleName;
|
|
删除数据ToolStripMenuItem.Text = "删除" + titleName;
|
|
rySearch1.PerformClick();
|
|
}
|
|
|
|
private void 添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
btnAdd.PerformClick();
|
|
}
|
|
|
|
private void 修改数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
btnEdit.PerformClick();
|
|
}
|
|
|
|
private void 删除数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
btnDel.PerformClick();
|
|
}
|
|
|
|
private void 复制并添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (LvCbResult.SelectedObject == null) { return; }
|
|
var item = (FTPInfo)LvCbResult.SelectedObject;
|
|
var selectId = item.Id;
|
|
FrmAddFTP frm = new FrmAddFTP()
|
|
{
|
|
Text = "添加" + titleName,
|
|
Icon = Icon,
|
|
isAdd = 1
|
|
};
|
|
frm.GetInfo(selectId.ToString());
|
|
frm.mr = new ModalForm(this, frm);
|
|
frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
|
|
if (dg == DialogResult.OK)
|
|
{
|
|
rySearch1.PerformClick();
|
|
}
|
|
});
|
|
frm.mr.ShowModal();
|
|
}
|
|
public bool SelectModeOn { get; set; } = false;
|
|
public FTPInfo SelectedItem { get; set; }
|
|
private void LvCbResult_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
if(SelectModeOn)
|
|
{
|
|
if (LvCbResult.SelectedObject == null) { return; }
|
|
SelectedItem = (FTPInfo)LvCbResult.SelectedObject;
|
|
DialogResult=DialogResult.OK;
|
|
}
|
|
}
|
|
}
|
|
public class FTPInfo
|
|
{
|
|
/// <summary>
|
|
/// id
|
|
/// </summary>
|
|
public int Id{ get; set; }
|
|
/// <summary>
|
|
/// 名称
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
/// <summary>
|
|
/// IP
|
|
/// </summary>
|
|
public string IP { get; set; }
|
|
/// <summary>
|
|
/// 端口
|
|
/// </summary>
|
|
public int Port { get; set; }
|
|
/// <summary>
|
|
/// 用户名
|
|
/// </summary>
|
|
public string UserName { get; set; }
|
|
/// <summary>
|
|
/// 密码
|
|
/// </summary>
|
|
public string Pwd { get; set; }
|
|
/// <summary>
|
|
/// 远程目录
|
|
/// </summary>
|
|
public string RemoteDir { get; set; }
|
|
/// <summary>
|
|
/// 加密方式
|
|
/// </summary>
|
|
public int Encrypt { get; set; }
|
|
/// <summary>
|
|
/// 添加时间
|
|
/// </summary>
|
|
public DateTime AddTime { get; set; }
|
|
public string Encoding { get; set; }= "UTF8";
|
|
/// <summary>
|
|
/// 添加时间字符串
|
|
/// </summary>
|
|
public string AddTimeStr
|
|
{
|
|
get { return AddTime.ToString("yyyy-MM-dd dddd HH:mm:ss"); }
|
|
}
|
|
}
|
|
}
|