Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
Ftt_Common
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Ftt_Common
Commits
eba2b93d
Commit
eba2b93d
authored
May 27, 2021
by
tr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、数据库链接维护:改进去重和相似性判断
parent
29320a90
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
106 additions
and
38 deletions
+106
-38
Utils.cs
Tools/MyUtils/Utils.cs
+33
-22
wDbSetting.cs
Tools/MyUtils/wDbSetting.cs
+30
-1
wDbLinkMngr.cs
Tools/UI/wDbLinkMngr.cs
+43
-15
No files found.
Tools/MyUtils/Utils.cs
View file @
eba2b93d
...
@@ -64,6 +64,26 @@ namespace Tools.MyUtils
...
@@ -64,6 +64,26 @@ namespace Tools.MyUtils
return
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
);
return
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
);
}
}
#
endregion
#
region
序号生成
/// <summary>
/// 生成定长序号
/// </summary>
/// <param name="seed">序号</param>
/// <param name="len">长度</param>
/// <returns></returns>
public
static
string
GenSerialNo
(
int
seed
,
int
len
=
2
)
{
string
s
=
seed
.
ToString
();
if
(
s
.
Length
<
len
)
{
s
=
$"0000
{
seed
}
"
;
s
=
s
.
Substring
(
s
.
Length
-
len
);
}
return
s
;
}
#
endregion
#
endregion
#
region
打开文件
#
region
打开文件
...
@@ -153,6 +173,17 @@ namespace Tools.MyUtils
...
@@ -153,6 +173,17 @@ namespace Tools.MyUtils
{
{
new
wMsgBox
().
Show
(
msg
,
width
,
height
);
new
wMsgBox
().
Show
(
msg
,
width
,
height
);
}
}
/// <summary>
/// 是否提示
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
public
static
bool
TipYN
(
string
msg
)
{
var
result
=
MessageBox
.
Show
(
msg
,
"提示"
,
MessageBoxButtons
.
YesNo
,
MessageBoxIcon
.
Question
);
return
result
==
DialogResult
.
Yes
;
}
/// <summary>
/// <summary>
/// 显示帮助信息
/// 显示帮助信息
/// </summary>
/// </summary>
...
@@ -184,26 +215,6 @@ namespace Tools.MyUtils
...
@@ -184,26 +215,6 @@ namespace Tools.MyUtils
action
();
action
();
}
}
#
endregion
#
region
序号生成
/// <summary>
/// 生成定长序号
/// </summary>
/// <param name="seed">序号</param>
/// <param name="len">长度</param>
/// <returns></returns>
public
static
string
GenSerialNo
(
int
seed
,
int
len
=
2
)
{
string
s
=
seed
.
ToString
();
if
(
s
.
Length
<
len
)
{
s
=
$"0000
{
seed
}
"
;
s
=
s
.
Substring
(
s
.
Length
-
len
);
}
return
s
;
}
#
endregion
#
endregion
#
region
数据库链接处理
#
region
数据库链接处理
...
...
Tools/MyUtils/wDbSetting.cs
View file @
eba2b93d
...
@@ -171,7 +171,9 @@ namespace Tools.MyUtils
...
@@ -171,7 +171,9 @@ namespace Tools.MyUtils
}
}
/// <summary>
/// 数据链接模型
/// </summary>
public
class
DbItemModel
public
class
DbItemModel
{
{
public
string
Link
{
get
;
set
;
}
public
string
Link
{
get
;
set
;
}
...
@@ -183,5 +185,32 @@ namespace Tools.MyUtils
...
@@ -183,5 +185,32 @@ namespace Tools.MyUtils
{
{
return
$"
{
this
.
DbName
}
(
{
this
.
Link
}
)"
;
return
$"
{
this
.
DbName
}
(
{
this
.
Link
}
)"
;
}
}
public
Similarity
Compare
(
string
linkString
)
{
var
m
=
Utils
.
GetDbItemModel
(
linkString
);
return
this
.
Compare
(
m
);
}
public
Similarity
Compare
(
DbItemModel
m
)
{
if
(
this
.
Link
!=
m
.
Link
)
return
Similarity
.
Different
;
if
(
this
.
LinkString
==
m
.
LinkString
)
return
Similarity
.
Same
;
if
(
this
.
Link
==
m
.
Link
&&
this
.
DbName
==
m
.
DbName
)
return
Similarity
.
Similar
;
return
Similarity
.
None
;
}
}
/// <summary>
/// 相似度
/// </summary>
public
enum
Similarity
{
None
,
Same
,
Similar
,
Different
,
}
}
}
}
Tools/UI/wDbLinkMngr.cs
View file @
eba2b93d
...
@@ -60,14 +60,13 @@ namespace Tools.UI
...
@@ -60,14 +60,13 @@ namespace Tools.UI
Utils
.
Tip
(
"链接必须输入!"
);
Utils
.
Tip
(
"链接必须输入!"
);
return
false
;
return
false
;
}
}
if
(
this
.
IsAdd
)
//新增状态,若新增失败则返回
{
if
(
this
.
IsAdd
&&
!
this
.
AddRow
())
this
.
AddRow
();
return
false
;
}
//编辑状态,若编辑失败则返回
else
if
(!
this
.
IsAdd
&&
!
this
.
EditRow
())
{
return
false
;
this
.
EditRow
();
}
return
base
.
SaveCheck
();
return
base
.
SaveCheck
();
}
}
...
@@ -103,39 +102,68 @@ namespace Tools.UI
...
@@ -103,39 +102,68 @@ namespace Tools.UI
/// <summary>
/// <summary>
/// 新增数据
/// 新增数据
/// </summary>
/// </summary>
private
void
AddRow
()
private
bool
AddRow
()
{
{
var
note
=
this
.
tbNote
.
Text
.
Trim
();
var
note
=
this
.
tbNote
.
Text
.
Trim
();
var
link
=
this
.
tbLink
.
Text
.
Trim
();
var
link
=
this
.
tbLink
.
Text
.
Trim
();
//重复判断
//重复判断
var
isExist
=
this
.
_db
.
IsExist
(
$"SELECT COUNT(*) FROM dbo.FTT_DbLinkManager WHERE Note='
{
note
}
' AND Link = '
{
link
}
'"
);
foreach
(
DataRowView
r
in
this
.
_ds
.
Tables
[
0
].
DefaultView
)
if
(
isExist
)
{
{
Utils
.
Tip
(
"数据已存在,请勿重复录入!"
);
//重复判断
return
;
var
linkNow
=
r
[
"link"
].
ToString
();
var
m
=
Utils
.
GetDbItemModel
(
linkNow
);
var
sim
=
m
.
Compare
(
link
);
if
(
sim
==
Similarity
.
Same
)
{
Utils
.
Tip
(
this
.
GenMessage
(
"已维护了一个相同链接,请检查!"
,
r
,
m
),
400
,
240
);
return
false
;
}
else
if
(
sim
==
Similarity
.
Similar
)
{
var
isPass
=
Utils
.
TipYN
(
this
.
GenMessage
(
"已维护了一个相似链接!是否继续添加?"
,
r
,
m
));
if
(!
isPass
)
return
false
;
}
}
}
//増行
//増行
var
drNew
=
this
.
_ds
.
Tables
[
0
].
NewRow
();
var
drNew
=
this
.
_ds
.
Tables
[
0
].
NewRow
();
drNew
[
"Note"
]
=
note
;
drNew
[
"Note"
]
=
note
;
drNew
[
"Link"
]
=
link
;
drNew
[
"Link"
]
=
link
;
this
.
_ds
.
Tables
[
0
].
Rows
.
Add
(
drNew
);
this
.
_ds
.
Tables
[
0
].
Rows
.
Add
(
drNew
);
return
true
;
}
}
/// <summary>
/// <summary>
/// 更新数据
/// 更新数据
/// </summary>
/// </summary>
private
void
EditRow
()
private
bool
EditRow
()
{
{
//查找编辑行
//查找编辑行
var
drEdit
=
this
.
_ds
.
Tables
[
0
].
Select
(
$"ID=
{
this
.
EditID
}
"
).
FirstOrDefault
();
var
drEdit
=
this
.
_ds
.
Tables
[
0
].
Select
(
$"ID=
{
this
.
EditID
}
"
).
FirstOrDefault
();
if
(
this
.
EditID
==
0
||
drEdit
==
null
)
if
(
this
.
EditID
==
0
||
drEdit
==
null
)
{
{
Utils
.
Tip
(
"请选择您要编辑的行!"
);
Utils
.
Tip
(
"请选择您要编辑的行!"
);
return
;
return
false
;
}
}
//编辑赋值
//编辑赋值
drEdit
[
"Note"
]
=
this
.
tbNote
.
Text
;
drEdit
[
"Note"
]
=
this
.
tbNote
.
Text
;
drEdit
[
"Link"
]
=
this
.
tbLink
.
Text
.
Trim
();
drEdit
[
"Link"
]
=
this
.
tbLink
.
Text
.
Trim
();
drEdit
.
EndEdit
();
drEdit
.
EndEdit
();
return
true
;
}
/// <summary>
/// 生成消息
/// </summary>
/// <param name="msg"></param>
/// <param name="r"></param>
/// <param name="m"></param>
/// <returns></returns>
private
string
GenMessage
(
string
msg
,
DataRowView
r
,
DbItemModel
m
)
{
var
blank
=
" "
;
return
$"
{
msg
}
\r\n序号:
{
r
[
"ID"
]}
\r\n描述:
{
r
[
"Note"
]}
\r\n链接:\r\n
{
blank
}
IP:
{
m
.
Link
}
\r\n
{
blank
}
用户:
{
m
.
UserId
}
\r\n
{
blank
}
密码:
{
m
.
Pwd
}
\r\n
{
blank
}
数据库:
{
m
.
DbName
}
"
;
}
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment