zoukankan
html css js c++ java
Tracking_自定义Profile筛选(2)
将
Pofile
对象的
XML
串存入数据库
该方法 调用了
Tacking
数据库的默认存储过程
UpdateTrackingProfile
,也可用自已的方式直接对
Tacking
数据库操作
private
static
void
插入Profile的XML串到数据库(
string
XML字串, Version 版本)
{
string
sql
=
@"
Initial Catalog=Tracking;Data Source=WXWINTER\SQLEXPRESS;Integrated Security=SSPI;
"
;
//
调用存储过程UpdateTrackingProfile
SqlCommand command
=
new
SqlCommand();
command.CommandType
=
CommandType.StoredProcedure;
//
类型是存储过程
command.CommandText
=
"
dbo.UpdateTrackingProfile
"
;
//
操作 的存储过程
command.Connection
=
new
SqlConnection(sql);
//
数据库连接字串
try
{
//
字段---------------------------------------------
SqlParameter typeFullName
=
new
SqlParameter();
typeFullName.ParameterName
=
"
@TypeFullName
"
;
typeFullName.SqlDbType
=
SqlDbType.NVarChar;
//
值为要设置工作流类的类名 : typeof(wxdlzm1).ToString()
typeFullName.SqlValue
=
typeof
(wxdlzm_wxwinter).ToString();
command.Parameters.Add(typeFullName);
//
字段----------------------------------------------------
SqlParameter assemblyFullName
=
new
SqlParameter();
assemblyFullName.ParameterName
=
"
@AssemblyFullName
"
;
assemblyFullName.SqlDbType
=
SqlDbType.NVarChar;
//
值为要设置工作流类的全称名 : typeof(wxdlzm1).Assembly.FullName
assemblyFullName.SqlValue
=
typeof
(wxdlzm_wxwinter).Assembly.FullName;
command.Parameters.Add(assemblyFullName);
//
TrackingProfile表Version字段--------------------------------
SqlParameter versionId
=
new
SqlParameter();
versionId.ParameterName
=
"
@Version
"
;
versionId.SqlDbType
=
SqlDbType.VarChar;
//
值为要指定的片本号的字串:格式"3.0.0.7"
versionId.SqlValue
=
版本.ToString();
command.Parameters.Add(versionId);
//
TrackingProfile表TrackingProfileXml字段-----------------------
SqlParameter trackingProfile
=
new
SqlParameter();
trackingProfile.ParameterName
=
"
@TrackingProfileXml
"
;
trackingProfile.SqlDbType
=
SqlDbType.NVarChar;
//
值为TrackingProfile格式的XML字串
trackingProfile.SqlValue
=
XML字串;
command.Parameters.Add(trackingProfile);
//
-----------------------------------------------------------
command.Connection.Open();
//
打开连接
command.ExecuteNonQuery();
//
执行
Console.WriteLine();
Console.WriteLine(
"
已将Profile插入
"
);
Console.WriteLine();
}
catch
(SqlException e)
{
Console.WriteLine();
Console.WriteLine(
"
插入Profile方法的Try捕获:插入数据出错了:
"
);
Console.WriteLine(e.Message);
Console.WriteLine();
command.Dispose();
return
;
}
finally
{
if
((
null
!=
command)
&&
(
null
!=
command.Connection)
&&
(ConnectionState.Closed
!=
command.Connection.State))
{
command.Connection.Close();
}
}
command.Dispose();
}
查询自定义
Pofile
的版本
该方法 调用了
Tacking
数据库的默认存储过程
GetTrackingProfile
,也可用自已的方式直接对
Tacking
数据库操作
private
static
Version 得到Profile版本()
{
//
调用存储过程GetTrackingProfile
string
sql
=
@"
Initial Catalog=Tracking;Data Source=WXWINTER\SQLEXPRESS;Integrated Security=SSPI;
"
;
TrackingProfile profile
=
null
;
SqlDataReader SQL读取对象
=
null
;
SqlCommand command
=
new
SqlCommand();
command.CommandType
=
CommandType.StoredProcedure;
//
类型是存储过程
command.CommandText
=
"
dbo.GetTrackingProfile
"
;
//
操作的存储过程
command.Connection
=
new
SqlConnection(sql);
//
数据库连接字串
try
{
//
字段
SqlParameter typeFullName
=
new
SqlParameter();
typeFullName.ParameterName
=
"
@TypeFullName
"
;
typeFullName.SqlDbType
=
SqlDbType.NVarChar;
//
值为要查询的工作流类的类名: typeof(wxdlzm1).ToString() 或typeof(wxdlzm1).FullName
typeFullName.SqlValue
=
typeof
(wxdlzm_Wxwinter).FullName;
//
command.Parameters.Add(typeFullName);
//
字段
SqlParameter assemblyFullName
=
new
SqlParameter();
assemblyFullName.ParameterName
=
"
@AssemblyFullName
"
;
assemblyFullName.SqlDbType
=
SqlDbType.NVarChar;
//
值为要查询工作流类的全称名: typeof(wxdlzm1).Assembly.FullName
assemblyFullName.SqlValue
=
typeof
(wxdlzm_Wxwinter).Assembly.FullName;
command.Parameters.Add(assemblyFullName);
//
SqlParameter versionId
=
new
SqlParameter();
versionId.ParameterName
=
"
@Version
"
;
versionId.SqlDbType
=
SqlDbType.VarChar;
command.Parameters.Add(versionId);
//
SqlParameter createDefault
=
new
SqlParameter();
createDefault.ParameterName
=
"
@CreateDefault
"
;
createDefault.SqlDbType
=
SqlDbType.Bit;
createDefault.SqlValue
=
0
;
command.Parameters.Add(createDefault);
command.Connection.Open();
SQL读取对象
=
command.ExecuteReader();
if
(SQL读取对象.Read())
{
string
profile的Xml字串
=
SQL读取对象[
0
]
as
string
;
if
(
null
!=
profile的Xml字串)
{
TrackingProfileSerializer 串行化对象
=
new
TrackingProfileSerializer();
StringReader stringReader对象
=
null
;
try
{
stringReader对象
=
new
StringReader(profile的Xml字串);
profile
=
串行化对象.Deserialize(stringReader对象);
}
finally
{
if
(stringReader对象
!=
null
)
stringReader对象.Close();
}
}
}
}
//
--------以上得到从数据库中得到profile的Xml字串,并将其返串为TrackingProfile对象
finally
{
if
((SQL读取对象
!=
null
)
&&
(
!
SQL读取对象.IsClosed))
SQL读取对象.Close();
if
((command
!=
null
)
&&
(command.Connection
!=
null
)
&&
(ConnectionState.Closed
!=
command.Connection.State))
{
command.Connection.Close();
}
command.Dispose();
}
//
----------------------------------
if
(profile
!=
null
)
{
return
new
Version(profile.Version.ToString());
}
else
{
//
如果数据库中没有,就返回"0.0.0.0"格式,表示没有,此为自定义约定
return
new
Version(
"
0.0.0.0
"
);
}
}
查看全文
相关阅读:
asList和subList的缺陷
oracle和mysql的拼接查询
Google Guava的splitter用法
docker创建mongodb并且测试代码
GitHub 近两万Star,无需编码,可一键生成前后端代码,这个开源项目JeecgBoot有点强
在深圳养一个娃需要多少钱?2020深圳养娃开销(Excel文本)清单公布!家长直呼扎心了!
Win7安装AD域管理工具-Win7安装AD域远程服务器管理工具
盘点2020年那些大厂网盘小厂网盘其他网络存储设备
完美解决远程计算机需要网络级别身份验证RDO
OPPO手机的指令合集(工程模式、串号等)
原文地址:https://www.cnblogs.com/foundation/p/514503.html
最新文章
社交网站点击追踪机制
博客点赞与取消点赞
唯一id生成器
日志审计功能-appent多个日志
博客网站文章发布与查看字数统计与截取
redis实现最简单的锁
hutool的时间工具类
restTemplate的问题-feign的项目
关于postman的接口登录验证问题
python 配置pip镜像源
热门文章
临时文件得使用
idea 的git代码回退回某个版本
刻意练习精华
智能家居的文章
electron另一种运行方式
gitee+typro+picgo搭建博客图床
Electron跨平台程序破解
Electron快速入门之事件
Electron快速入门之debug
Electron快速入门
Copyright © 2011-2022 走看看