Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s0611163
LiteSql
比较版本
8eefb0debb813bcdbe4f7c0401bf5b0665538f37...5e01ac7626a27fe605ac2eaedd4531197381d298
L
LiteSql
项目概览
s0611163
/
LiteSql
4 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
LiteSql
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
源分支
5e01ac7626a27fe605ac2eaedd4531197381d298
选择Git版本
...
目标分支
8eefb0debb813bcdbe4f7c0401bf5b0665538f37
选择Git版本
比较
Commits (4)
https://gitcode.net/s0611163/LiteSql/-/commit/5a45c619ef65d42cfdfaeddc96796e3b169a0519
IDbSession接口增加SetCommandType方法,以支持调用存储过程
2023-12-08T13:45:29+08:00
suxiang
651029594@qq.com
https://gitcode.net/s0611163/LiteSql/-/commit/fdf1eb86b3c9c1995187cb6108237bb4a5efc8d0
删除多余的OnExecuting调用
2023-12-08T13:58:20+08:00
suxiang
651029594@qq.com
https://gitcode.net/s0611163/LiteSql/-/commit/5798ecaa8ecd693fb4cef7ba0a248f56738a7119
IDbSession接口新增查询并返回DataTable的方法
2023-12-08T15:31:05+08:00
suxiang
651029594@qq.com
https://gitcode.net/s0611163/LiteSql/-/commit/5e01ac7626a27fe605ac2eaedd4531197381d298
v2.0.12
2023-12-08T15:47:36+08:00
suxiang
651029594@qq.com
隐藏空白更改
内联
并排
Showing
12 changed file
with
248 addition
and
90 deletion
+248
-90
LiteSql/LiteSql/LiteSql.csproj
LiteSql/LiteSql/LiteSql.csproj
+6
-4
LiteSql/LiteSql/Session/DBSession.cs
LiteSql/LiteSql/Session/DBSession.cs
+13
-0
LiteSql/LiteSql/Session/DBSessionDelete.cs
LiteSql/LiteSql/Session/DBSessionDelete.cs
+0
-16
LiteSql/LiteSql/Session/DBSessionExecuteCommand.cs
LiteSql/LiteSql/Session/DBSessionExecuteCommand.cs
+105
-40
LiteSql/LiteSql/Session/DBSessionFindList.cs
LiteSql/LiteSql/Session/DBSessionFindList.cs
+0
-10
LiteSql/LiteSql/Session/DBSessionInsert.cs
LiteSql/LiteSql/Session/DBSessionInsert.cs
+0
-12
LiteSql/LiteSql/Session/DBSessionUpdate.cs
LiteSql/LiteSql/Session/DBSessionUpdate.cs
+0
-8
LiteSql/LiteSql/Session/IDBSession.cs
LiteSql/LiteSql/Session/IDBSession.cs
+7
-0
LiteSql/LiteSql/Session/IDBSessionExecuteCommand.cs
LiteSql/LiteSql/Session/IDBSessionExecuteCommand.cs
+28
-0
LiteSql/LiteSql/SqlString/SqlString.cs
LiteSql/LiteSql/SqlString/SqlString.cs
+12
-0
LiteSql/LiteSqlTest/QueryTest.cs
LiteSql/LiteSqlTest/QueryTest.cs
+50
-0
db/procedures.sql
db/procedures.sql
+27
-0
未找到文件。
LiteSql/LiteSql/LiteSql.csproj
浏览文件 @
5e01ac76
...
@@ -6,9 +6,9 @@
...
@@ -6,9 +6,9 @@
<Nullable>disable</Nullable>
<Nullable>disable</Nullable>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Title>LiteSql</Title>
<Title>LiteSql</Title>
<AssemblyVersion>2.0.1
1
</AssemblyVersion>
<AssemblyVersion>2.0.1
2
</AssemblyVersion>
<FileVersion>2.0.1
1
</FileVersion>
<FileVersion>2.0.1
2
</FileVersion>
<Version>2.0.1
1
</Version>
<Version>2.0.1
2
</Version>
<PackageId>LiteSql</PackageId>
<PackageId>LiteSql</PackageId>
<PackageProjectUrl>https://github.com/0611163/LiteSql</PackageProjectUrl>
<PackageProjectUrl>https://github.com/0611163/LiteSql</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
...
@@ -20,7 +20,9 @@
...
@@ -20,7 +20,9 @@
</Description>
</Description>
<PackageReleaseNotes>
<PackageReleaseNotes>
更新内容:
更新内容:
1. QueryList<T>中的T支持各值类型完善
1. 新增:IDbSession接口增加SetCommandType方法,以支持调用存储过程
2. 优化:删除重复的OnExecuting调用
3. 新增:IDbSession接口新增查询并返回DataTable的方法
</PackageReleaseNotes>
</PackageReleaseNotes>
</PropertyGroup>
</PropertyGroup>
...
...
LiteSql/LiteSql/Session/DBSession.cs
浏览文件 @
5e01ac76
...
@@ -85,6 +85,8 @@ namespace LiteSql
...
@@ -85,6 +85,8 @@ namespace LiteSql
/// </summary>
/// </summary>
public
DbConnection
Conn
=>
_tran
?.
Connection
;
public
DbConnection
Conn
=>
_tran
?.
Connection
;
private
CommandType
_commandType
=
CommandType
.
Text
;
#
endregion
#
endregion
#
region
静态构造函数
#
region
静态构造函数
...
@@ -253,5 +255,16 @@ namespace LiteSql
...
@@ -253,5 +255,16 @@ namespace LiteSql
}
}
#
endregion
#
endregion
#
region
设置
CommandType
/// <summary>
/// 设置CommandType
/// </summary>
public
IDbSession
SetCommandType
(
CommandType
commandType
)
{
_commandType
=
commandType
;
return
this
;
}
#
endregion
}
}
}
}
LiteSql/LiteSql/Session/DBSessionDelete.cs
浏览文件 @
5e01ac76
...
@@ -46,8 +46,6 @@ namespace LiteSql
...
@@ -46,8 +46,6 @@ namespace LiteSql
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}={2}"
,
GetTableName
(
_provider
,
type
),
idNameWithQuote
,
_provider
.
GetParameterName
(
idName
,
idType
)));
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}={2}"
,
GetTableName
(
_provider
,
type
),
idNameWithQuote
,
_provider
.
GetParameterName
(
idName
,
idType
)));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
}
}
#
endregion
#
endregion
...
@@ -89,8 +87,6 @@ namespace LiteSql
...
@@ -89,8 +87,6 @@ namespace LiteSql
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}={2}"
,
GetTableName
(
_provider
,
type
),
idNameWithQuote
,
_provider
.
GetParameterName
(
idName
,
idType
)));
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}={2}"
,
GetTableName
(
_provider
,
type
),
idNameWithQuote
,
_provider
.
GetParameterName
(
idName
,
idType
)));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
}
}
#
endregion
#
endregion
...
@@ -121,8 +117,6 @@ namespace LiteSql
...
@@ -121,8 +117,6 @@ namespace LiteSql
sbSql
.
Remove
(
sbSql
.
Length
-
1
,
1
);
sbSql
.
Remove
(
sbSql
.
Length
-
1
,
1
);
sbSql
.
Append
(
")"
);
sbSql
.
Append
(
")"
);
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
}
}
#
endregion
#
endregion
...
@@ -152,8 +146,6 @@ namespace LiteSql
...
@@ -152,8 +146,6 @@ namespace LiteSql
sbSql
.
Remove
(
sbSql
.
Length
-
1
,
1
);
sbSql
.
Remove
(
sbSql
.
Length
-
1
,
1
);
sbSql
.
Append
(
")"
);
sbSql
.
Append
(
")"
);
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
}
}
#
endregion
#
endregion
...
@@ -199,8 +191,6 @@ namespace LiteSql
...
@@ -199,8 +191,6 @@ namespace LiteSql
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
null
);
return
Execute
(
sbSql
.
ToString
(),
null
);
return
Execute
(
sbSql
.
ToString
(),
null
);
}
}
#
endregion
#
endregion
...
@@ -218,8 +208,6 @@ namespace LiteSql
...
@@ -218,8 +208,6 @@ namespace LiteSql
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
null
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
null
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
null
);
}
}
#
endregion
#
endregion
...
@@ -264,8 +252,6 @@ namespace LiteSql
...
@@ -264,8 +252,6 @@ namespace LiteSql
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
}
}
#
endregion
#
endregion
...
@@ -283,8 +269,6 @@ namespace LiteSql
...
@@ -283,8 +269,6 @@ namespace LiteSql
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
}
}
#
endregion
#
endregion
...
...
LiteSql/LiteSql/Session/DBSessionExecuteCommand.cs
浏览文件 @
5e01ac76
...
@@ -27,9 +27,6 @@ namespace LiteSql
...
@@ -27,9 +27,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
bool
Exists
(
string
sqlString
)
public
bool
Exists
(
string
sqlString
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
ExecuteScalar
(
sqlString
);
object
obj
=
ExecuteScalar
(
sqlString
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -49,9 +46,6 @@ namespace LiteSql
...
@@ -49,9 +46,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
async
Task
<
bool
>
ExistsAsync
(
string
sqlString
)
public
async
Task
<
bool
>
ExistsAsync
(
string
sqlString
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -73,9 +67,6 @@ namespace LiteSql
...
@@ -73,9 +67,6 @@ namespace LiteSql
/// <param name="sqlString">查询语句</param>
/// <param name="sqlString">查询语句</param>
public
T
QuerySingle
<
T
>(
string
sqlString
)
public
T
QuerySingle
<
T
>(
string
sqlString
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
ExecuteScalar
(
sqlString
);
object
obj
=
ExecuteScalar
(
sqlString
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -96,9 +87,6 @@ namespace LiteSql
...
@@ -96,9 +87,6 @@ namespace LiteSql
/// <param name="sqlString">查询语句</param>
/// <param name="sqlString">查询语句</param>
public
object
QuerySingle
(
string
sqlString
)
public
object
QuerySingle
(
string
sqlString
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
ExecuteScalar
(
sqlString
);
object
obj
=
ExecuteScalar
(
sqlString
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -119,9 +107,6 @@ namespace LiteSql
...
@@ -119,9 +107,6 @@ namespace LiteSql
/// <param name="sqlString">查询语句</param>
/// <param name="sqlString">查询语句</param>
public
async
Task
<
T
>
QuerySingleAsync
<
T
>(
string
sqlString
)
public
async
Task
<
T
>
QuerySingleAsync
<
T
>(
string
sqlString
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -142,9 +127,6 @@ namespace LiteSql
...
@@ -142,9 +127,6 @@ namespace LiteSql
/// <param name="sqlString">查询语句</param>
/// <param name="sqlString">查询语句</param>
public
async
Task
<
object
>
QuerySingleAsync
(
string
sqlString
)
public
async
Task
<
object
>
QuerySingleAsync
(
string
sqlString
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -222,9 +204,6 @@ namespace LiteSql
...
@@ -222,9 +204,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
bool
Exists
(
string
sqlString
,
DbParameter
[]
cmdParms
)
public
bool
Exists
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -244,9 +223,6 @@ namespace LiteSql
...
@@ -244,9 +223,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
async
Task
<
bool
>
ExistsAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
public
async
Task
<
bool
>
ExistsAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -269,9 +245,6 @@ namespace LiteSql
...
@@ -269,9 +245,6 @@ namespace LiteSql
/// <param name="cmdParms">参数</param>
/// <param name="cmdParms">参数</param>
public
T
QuerySingle
<
T
>(
string
sqlString
,
DbParameter
[]
cmdParms
)
public
T
QuerySingle
<
T
>(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -293,9 +266,6 @@ namespace LiteSql
...
@@ -293,9 +266,6 @@ namespace LiteSql
/// <param name="cmdParms">参数</param>
/// <param name="cmdParms">参数</param>
public
object
QuerySingle
(
string
sqlString
,
DbParameter
[]
cmdParms
)
public
object
QuerySingle
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -317,9 +287,6 @@ namespace LiteSql
...
@@ -317,9 +287,6 @@ namespace LiteSql
/// <param name="cmdParms">参数</param>
/// <param name="cmdParms">参数</param>
public
async
Task
<
T
>
QuerySingleAsync
<
T
>(
string
sqlString
,
DbParameter
[]
cmdParms
)
public
async
Task
<
T
>
QuerySingleAsync
<
T
>(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -341,9 +308,6 @@ namespace LiteSql
...
@@ -341,9 +308,6 @@ namespace LiteSql
/// <param name="cmdParms">参数</param>
/// <param name="cmdParms">参数</param>
public
async
Task
<
object
>
QuerySingleAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
public
async
Task
<
object
>
QuerySingleAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
@@ -603,13 +567,13 @@ namespace LiteSql
...
@@ -603,13 +567,13 @@ namespace LiteSql
#
endregion
#
endregion
#
region
PrepareCommand
#
region
PrepareCommand
private
static
void
PrepareCommand
(
DbCommand
cmd
,
DbConnection
conn
,
DbTransaction
trans
,
string
cmdText
,
DbParameter
[]
cmdParms
)
private
void
PrepareCommand
(
DbCommand
cmd
,
DbConnection
conn
,
DbTransaction
trans
,
string
cmdText
,
DbParameter
[]
cmdParms
)
{
{
if
(
conn
.
State
!=
ConnectionState
.
Open
)
conn
.
Open
();
if
(
conn
.
State
!=
ConnectionState
.
Open
)
conn
.
Open
();
cmd
.
Connection
=
conn
;
cmd
.
Connection
=
conn
;
cmd
.
CommandText
=
cmdText
;
cmd
.
CommandText
=
cmdText
;
if
(
trans
!=
null
)
cmd
.
Transaction
=
trans
;
if
(
trans
!=
null
)
cmd
.
Transaction
=
trans
;
cmd
.
CommandType
=
CommandType
.
Text
;
cmd
.
CommandType
=
_commandType
;
if
(
cmdParms
!=
null
)
if
(
cmdParms
!=
null
)
{
{
foreach
(
DbParameter
parm
in
cmdParms
)
foreach
(
DbParameter
parm
in
cmdParms
)
...
@@ -621,13 +585,13 @@ namespace LiteSql
...
@@ -621,13 +585,13 @@ namespace LiteSql
#
endregion
#
endregion
#
region
PrepareCommandAsync
#
region
PrepareCommandAsync
private
static
async
Task
PrepareCommandAsync
(
DbCommand
cmd
,
DbConnection
conn
,
DbTransaction
trans
,
string
cmdText
,
DbParameter
[]
cmdParms
)
private
async
Task
PrepareCommandAsync
(
DbCommand
cmd
,
DbConnection
conn
,
DbTransaction
trans
,
string
cmdText
,
DbParameter
[]
cmdParms
)
{
{
if
(
conn
.
State
!=
ConnectionState
.
Open
)
await
conn
.
OpenAsync
();
if
(
conn
.
State
!=
ConnectionState
.
Open
)
await
conn
.
OpenAsync
();
cmd
.
Connection
=
conn
;
cmd
.
Connection
=
conn
;
cmd
.
CommandText
=
cmdText
;
cmd
.
CommandText
=
cmdText
;
if
(
trans
!=
null
)
cmd
.
Transaction
=
trans
;
if
(
trans
!=
null
)
cmd
.
Transaction
=
trans
;
cmd
.
CommandType
=
CommandType
.
Text
;
cmd
.
CommandType
=
_commandType
;
if
(
cmdParms
!=
null
)
if
(
cmdParms
!=
null
)
{
{
foreach
(
DbParameter
parm
in
cmdParms
)
foreach
(
DbParameter
parm
in
cmdParms
)
...
@@ -850,5 +814,106 @@ namespace LiteSql
...
@@ -850,5 +814,106 @@ namespace LiteSql
}
}
#
endregion
#
endregion
#
region
查询并返回
DataTable
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
public
DataTable
QueryDataTable
(
string
sqlString
)
{
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
ExecuteReader
(
sqlString
,
conn
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
public
async
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
)
{
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
await
ExecuteReaderAsync
(
sqlString
,
conn
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
public
DataTable
QueryDataTable
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
ExecuteReader
(
sqlString
,
cmdParms
,
conn
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
public
async
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
await
ExecuteReaderAsync
(
sqlString
,
cmdParms
,
conn
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
#
endregion
}
}
}
}
LiteSql/LiteSql/Session/DBSessionFindList.cs
浏览文件 @
5e01ac76
...
@@ -18,9 +18,6 @@ namespace LiteSql
...
@@ -18,9 +18,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
List
<
T
>
QueryList
<
T
>(
string
sql
)
public
List
<
T
>
QueryList
<
T
>(
string
sql
)
{
{
SqlFilter
(
ref
sql
);
OnExecuting
?.
Invoke
(
sql
,
null
);
var
conn
=
GetConnection
(
_tran
);
var
conn
=
GetConnection
(
_tran
);
try
try
...
@@ -45,9 +42,6 @@ namespace LiteSql
...
@@ -45,9 +42,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
)
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
)
{
{
SqlFilter
(
ref
sql
);
OnExecuting
?.
Invoke
(
sql
,
null
);
var
conn
=
GetConnection
(
_tran
);
var
conn
=
GetConnection
(
_tran
);
try
try
...
@@ -73,8 +67,6 @@ namespace LiteSql
...
@@ -73,8 +67,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
List
<
T
>
QueryList
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
public
List
<
T
>
QueryList
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
{
{
OnExecuting
?.
Invoke
(
sql
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
var
conn
=
GetConnection
(
_tran
);
try
try
...
@@ -99,8 +91,6 @@ namespace LiteSql
...
@@ -99,8 +91,6 @@ namespace LiteSql
/// </summary>
/// </summary>
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
{
{
OnExecuting
?.
Invoke
(
sql
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
var
conn
=
GetConnection
(
_tran
);
try
try
...
...
LiteSql/LiteSql/Session/DBSessionInsert.cs
浏览文件 @
5e01ac76
...
@@ -23,8 +23,6 @@ namespace LiteSql
...
@@ -23,8 +23,6 @@ namespace LiteSql
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
...
@@ -39,8 +37,6 @@ namespace LiteSql
...
@@ -39,8 +37,6 @@ namespace LiteSql
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
strSql
.
Append
(
";"
+
selectIdSql
+
";"
);
strSql
.
Append
(
";"
+
selectIdSql
+
";"
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
object
id
=
ExecuteScalar
(
strSql
.
ToString
(),
parameters
);
object
id
=
ExecuteScalar
(
strSql
.
ToString
(),
parameters
);
return
Convert
.
ToInt64
(
id
);
return
Convert
.
ToInt64
(
id
);
}
}
...
@@ -57,8 +53,6 @@ namespace LiteSql
...
@@ -57,8 +53,6 @@ namespace LiteSql
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
...
@@ -73,8 +67,6 @@ namespace LiteSql
...
@@ -73,8 +67,6 @@ namespace LiteSql
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
strSql
.
Append
(
";"
+
selectIdSql
+
";"
);
strSql
.
Append
(
";"
+
selectIdSql
+
";"
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
object
id
=
await
ExecuteScalarAsync
(
strSql
.
ToString
(),
parameters
);
object
id
=
await
ExecuteScalarAsync
(
strSql
.
ToString
(),
parameters
);
return
Convert
.
ToInt64
(
id
);
return
Convert
.
ToInt64
(
id
);
}
}
...
@@ -104,8 +96,6 @@ namespace LiteSql
...
@@ -104,8 +96,6 @@ namespace LiteSql
PrepareInsertSql
<
T
>(
listPage
,
ref
strSql
,
ref
parameters
,
ref
savedCount
);
PrepareInsertSql
<
T
>(
listPage
,
ref
strSql
,
ref
parameters
,
ref
savedCount
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
}
}
...
@@ -135,8 +125,6 @@ namespace LiteSql
...
@@ -135,8 +125,6 @@ namespace LiteSql
PrepareInsertSql
<
T
>(
listPage
,
ref
strSql
,
ref
parameters
,
ref
savedCount
);
PrepareInsertSql
<
T
>(
listPage
,
ref
strSql
,
ref
parameters
,
ref
savedCount
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
}
}
...
...
LiteSql/LiteSql/Session/DBSessionUpdate.cs
浏览文件 @
5e01ac76
...
@@ -69,8 +69,6 @@ namespace LiteSql
...
@@ -69,8 +69,6 @@ namespace LiteSql
if
(
savedCount
>
0
)
if
(
savedCount
>
0
)
{
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
}
}
...
@@ -93,8 +91,6 @@ namespace LiteSql
...
@@ -93,8 +91,6 @@ namespace LiteSql
if
(
savedCount
>
0
)
if
(
savedCount
>
0
)
{
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
}
}
...
@@ -139,8 +135,6 @@ namespace LiteSql
...
@@ -139,8 +135,6 @@ namespace LiteSql
if
(
savedCount
>
0
)
if
(
savedCount
>
0
)
{
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
}
}
...
@@ -186,8 +180,6 @@ namespace LiteSql
...
@@ -186,8 +180,6 @@ namespace LiteSql
if
(
savedCount
>
0
)
if
(
savedCount
>
0
)
{
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
}
}
...
...
LiteSql/LiteSql/Session/IDBSession.cs
浏览文件 @
5e01ac76
...
@@ -93,5 +93,12 @@ namespace LiteSql
...
@@ -93,5 +93,12 @@ namespace LiteSql
Task
<
DbConnection
>
GetOpenedConnectionAsync
(
DbTransaction
tran
=
null
);
Task
<
DbConnection
>
GetOpenedConnectionAsync
(
DbTransaction
tran
=
null
);
#
endregion
#
endregion
#
region
设置
CommandType
/// <summary>
/// 设置CommandType
/// </summary>
IDbSession
SetCommandType
(
CommandType
commandType
);
#
endregion
}
}
}
}
LiteSql/LiteSql/Session/IDBSessionExecuteCommand.cs
浏览文件 @
5e01ac76
...
@@ -151,6 +151,34 @@ namespace LiteSql
...
@@ -151,6 +151,34 @@ namespace LiteSql
#
endregion
#
endregion
#
region
查询并返回
DataTable
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
DataTable
QueryDataTable
(
string
sqlString
);
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
);
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
DataTable
QueryDataTable
(
string
sqlString
,
DbParameter
[]
cmdParms
);
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
);
#
endregion
#
region
传
SqlString
#
region
传
SqlString
/// <summary>
/// <summary>
...
...
LiteSql/LiteSql/SqlString/SqlString.cs
浏览文件 @
5e01ac76
...
@@ -479,6 +479,17 @@ namespace LiteSql
...
@@ -479,6 +479,17 @@ namespace LiteSql
Dictionary
<
string
,
object
>
dict
=
new
Dictionary
<
string
,
object
>();
Dictionary
<
string
,
object
>
dict
=
new
Dictionary
<
string
,
object
>();
MatchCollection
mc
=
_regex
.
Matches
(
sql
);
MatchCollection
mc
=
_regex
.
Matches
(
sql
);
int
argIndex
=
0
;
int
argIndex
=
0
;
if
(
isAnonymous
&&
mc
.
Count
==
0
)
//存储过程的情况
{
foreach
(
string
name
in
anonymousValues
.
Keys
)
{
object
obj
=
anonymousValues
[
name
];
dict
.
Add
(
name
,
obj
);
}
return
dict
;
}
foreach
(
Match
m
in
mc
)
foreach
(
Match
m
in
mc
)
{
{
var
oldSql
=
m
.
Value
;
var
oldSql
=
m
.
Value
;
...
@@ -508,6 +519,7 @@ namespace LiteSql
...
@@ -508,6 +519,7 @@ namespace LiteSql
sql
=
ReplaceSql
(
sql
,
oldSql
,
name
,
parameterType
);
sql
=
ReplaceSql
(
sql
,
oldSql
,
name
,
parameterType
);
}
}
}
}
return
dict
;
return
dict
;
}
}
#
endregion
#
endregion
...
...
LiteSql/LiteSqlTest/QueryTest.cs
浏览文件 @
5e01ac76
...
@@ -6,6 +6,7 @@ using System.Collections.Generic;
...
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using
System.Linq
;
using
System.Linq
;
using
LiteSql
;
using
LiteSql
;
using
Utils
;
using
Utils
;
using
System.Data
;
namespace
LiteSqlTest
namespace
LiteSqlTest
{
{
...
@@ -490,5 +491,54 @@ namespace LiteSqlTest
...
@@ -490,5 +491,54 @@ namespace LiteSqlTest
}
}
#
endregion
#
endregion
#
region
测试调用存储过程
[
TestMethod
]
public
void
TestStoredProcedure
()
{
var
session
=
LiteSqlFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
List
<
dynamic
>
list
=
session
.
SetCommandType
(
CommandType
.
StoredProcedure
).
Sql
(
"query_user"
,
new
{
maxId
=
20
}).
ToList
<
dynamic
>();
foreach
(
var
item
in
list
)
{
Console
.
WriteLine
(
$"
{
item
.
user_name
}
,
{
item
.
real_name
}
,
{
item
.
remark
}
"
);
}
Assert
.
IsTrue
(
list
.
Count
>
0
);
list
=
session
.
SetCommandType
(
CommandType
.
Text
).
Sql
(
"select user_name, real_name, remark from sys_user where id<=@Id"
,
20
).
ToList
<
dynamic
>();
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
#
region
测试查询并返回
DataTable
[
TestMethod
]
public
void
TestReturnDataTable
()
{
var
session
=
LiteSqlFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
var
sql
=
session
.
Sql
(
"select * from sys_user where id<=@Id"
,
20
);
DataTable
dt
=
session
.
QueryDataTable
(
sql
.
SQL
,
sql
.
Params
);
foreach
(
DataRow
dr
in
dt
.
Rows
)
{
Console
.
WriteLine
(
$"
{
dr
[
"user_name"
]}
,
{
dr
[
"real_name"
]}
,
{
dr
[
"remark"
]}
"
);
}
Assert
.
IsTrue
(
dt
.
Rows
.
Count
>
0
);
var
list
=
sql
.
ToList
<
dynamic
>();
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
}
}
}
}
db/procedures.sql
0 → 100644
浏览文件 @
5e01ac76
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50728
Source Host : localhost:3306
Source Database : litesql_test
Target Server Type : MYSQL
Target Server Version : 50728
File Encoding : 65001
Date: 2023-12-08 13:30:02
*/
SET
FOREIGN_KEY_CHECKS
=
0
;
-- ----------------------------
-- Procedure structure for `query_user`
-- ----------------------------
DROP
PROCEDURE
IF
EXISTS
`query_user`
;
DELIMITER
;;
CREATE
DEFINER
=
`root`
@
`%`
PROCEDURE
`query_user`
(
in
maxId
BIGINT
)
BEGIN
SELECT
*
from
sys_user
where
id
<=
maxId
;
END
;;
DELIMITER
;