8000 6.10 · githubsunyf/cms@90ddd8b · GitHub
[go: up one dir, main page]

Skip to content

Commit 90ddd8b

Browse files
committed
6.10
1 parent 26ee807 commit 90ddd8b

File tree

17 files changed

+103
-97
lines changed
  • SiteServer.Web
  • 17 files changed

    +103
    -97
    lines changed

    README.md

    Lines changed: 11 additions & 9 deletions
    Original file line numberDiff line numberDiff line change
    @@ -6,7 +6,7 @@ SiteServer CMS 基于.NET 平台,能够以最低的成本、最少的人力投
    66

    77
    ## 版本
    88

    9-
    项目发布的正式版本存放在 `master` 分支,当前的开发版本存放在 `dev` 分支
    9+
    项目发布的正式版本存放在 `master` 分支,最新版本存放在 `staging` 分支
    1010

    1111
    | 版本 | 编译状态 | 版本号 | 发布日期 |
    1212
    | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
    @@ -15,6 +15,10 @@ SiteServer CMS 基于.NET 平台,能够以最低的成本、最少的人力投
    1515

    1616
    ## 迭代计划
    1717

    18+
    [2019 年 5 月/6 月迭代计划](https://github.com/siteserver/cms/issues/1879)
    19+
    20+
    [2019 年 3 月/4 月迭代计划](https://github.com/siteserver/cms/issues/1790)
    21+
    1822
    [2019 年 1 月/2 月迭代计划](https://github.com/siteserver/cms/issues/1683)
    1923

    2024
    [2018 年 11 月/12 月迭代计划](https://github.com/siteserver/cms/issues/1521)
    @@ -35,19 +39,17 @@ SiteServer CMS 基于.NET 平台,能够以最低的成本、最少的人力投
    3539

    3640
    [2018 年 2 月迭代计划](https://github.com/siteserver/cms/issues/239)
    3741

    38-
    [SiteServer CMS 路线图 2018](https://github.com/siteserver/cms/issues/718)
    39-
    4042
    ## 开发文档
    4143

    42-
    [《STL 语言参考手册》](https://docs.siteserver.cn/stl/)
    44+
    [《STL 语言参考手册》](https://www.siteserver.cn/docs/stl/)
    4345

    44-
    [《插件开发参考手册》](https://docs.siteserver.cn/plugins/)
    46+
    [《插件开发参考手册》](https://www.siteserver.cn/docs/plugins/)
    4547

    46-
    [《CLI 命令行参考手册》](https://docs.siteserver.cn/cli/)
    48+
    [《CLI 命令行参考手册》](https://www.siteserver.cn/docs/cli/)
    4749

    48-
    [《REST API 参考手册》](https://docs.siteserver.cn/api/)
    50+
    [《REST API 参考手册》](https://www.siteserver.cn/docs/api/)
    4951

    50-
    [《数据结构参考手册》](https://docs.siteserver.cn/model/)
    52+
    [《数据结构参考手册》](https://www.siteserver.cn/docs/model/)
    5153

    5254
    系统使用文档请点击 [SiteServer CMS 文档中心](https://www.siteserver.cn/docs/)
    5355

    @@ -96,7 +98,7 @@ SiteServer CMS 基于.NET 平台,能够以最低的成本、最少的人力投
    9698

    9799
    ## 系统更新
    98100

    99-
    SiteServer CMS 产品将在每个月底发布新的正式版本,我们将在每次迭代中对核心功能、文档支持、功能插件以及网站模板四个方面进行持续改进。
    101+
    SiteServer CMS 产品将每隔两月发布新的正式版本,我们将在每次迭代中对核心功能、文档支持、功能插件以及网站模板四个方面进行持续改进。
    100102

    101103
    ## 问题与建议
    102104

    SS.CMS.nuspec

    Lines changed: 2 additions & 2 deletions
    Original file line numberDiff line numberDiff line change
    @@ -9,10 +9,10 10000 @@
    99
    <projectUrl>https://github.com/siteserver/cms</projectUrl>
    1010
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    1111
    <description>SiteServer CMS</description>
    12-
    <copyright>Copyright © SiteServer CMS 2018</copyright>
    12+
    <copyright>Copyright © SiteServer CMS</copyright>
    1313
    <tags>SiteServer CMS</tags>
    1414
    <releaseNotes>
    15-
    SiteServer CMS V6.9正式版
    15+
    SiteServer CMS V6.10正式版
    1616
    </releaseNotes>
    1717
    </metadata>
    1818
    </package>

    SiteServer.BackgroundPages/Ajax/AjaxCmsService.cs

    Lines changed: 2 additions & 0 deletions
    Original file line numberDiff line numberDiff line change
    @@ -5,6 +5,7 @@
    55
    using SiteServer.Utils;
    66
    using SiteServer.CMS.Core;
    77
    using SiteServer.CMS.DataCache;
    8+
    using SiteServer.CMS.DataCache.Content;
    89
    using SiteServer.CMS.Model;
    910
    using SiteServer.CMS.Model.Attributes;
    1011

    @@ -150,6 +151,7 @@ public string GetTitles(int siteId, int channelId, string title)
    150151

    151152
    var siteInfo = SiteManager.GetSiteInfo(siteId);
    152153
    var tableName = ChannelManager.GetTableName(siteInfo, channelId);
    154+
    153155
    var titleList = DataProvider.ContentDao.GetValueListByStartString(tableName, channelId, ContentAttribute.Title, title, 10);
    154156
    if (titleList.Count > 0)
    155157
    {

    SiteServer.BackgroundPages/Cms/PageContentAdd.cs

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -95,7 +95,7 @@ public void Page_Load(object sender, EventArgs e)
    9595
    }
    9696

    9797
    var titleFormat = IsPostBack ? Request.Form[ContentAttribute.GetFormatStringAttributeName(ContentAttribute.Title)] : contentInfo?.GetString(ContentAttribute.GetFormatStringAttributeName(ContentAttribute.Title));
    98-
    LtlTitleHtml.Text = ContentUtility.GetTitleHtml(titleFormat, AjaxCmsService.GetTitlesUrl(SiteId, _channelInfo.Id));
    98+
    LtlTitleHtml.Text = ContentUtility.GetTitleHtml(titleFormat);
    9999

    100100
    AcAttributes.SiteInfo = SiteInfo;
    101101
    AcAttributes.ChannelId = _channelInfo.Id;

    SiteServer.CMS/Core/ContentUtility.cs

    Lines changed: 1 addition & 41 deletions
    Original file line numberDiff line numberDiff line change
    @@ -676,7 +676,7 @@ public static Dictionary<int, List<int>> GetIDsDictionary(NameValueCollection qu
    676676
    return dic;
    677677
    }
    678678

    679-
    public static string GetTitleHtml(string titleFormat, string titleAjaxUrl)
    679+
    public static string GetTitleHtml(string titleFormat)
    680680
    {
    681681
    var builder = new StringBuilder();
    682682
    var formatStrong = false;
    @@ -750,46 +750,6 @@ public static string GetTitleHtml(string titleFormat, string titleAjaxUrl)
    750750
    <input id=""{ContentAttribute.Title}_formatU"" name=""{ContentAttribute.Title}_formatU"" type=""hidden"" value=""{formatU.ToString().ToLower()}"" />
    751751
    ");
    752752

    753-
    builder.Append(@"
    754-
    <script type=""text/javascript"">
    755-
    function getTitles(title){
    756-
    $.get('[url]&title=' + encodeURIComponent(title) + '&channelID=' + $('#channelID').val() + '&r=' + Math.random(), function(data) {
    757-
    if(data !=''){
    758-
    var arr = data.split('|');
    759-
    var temp='';
    760-
    for(i=0;i<arr.length;i++)
    761-
    {
    762-
    temp += '<li><a>'+arr[i].replace(title,'<b>' + title + '</b>') + '</a></li>';
    763-
    }
    764-
    var myli='<ul>'+temp+'</ul>';
    765-
    $('#titleTips').html(myli);
    766-
    $('#titleTips').show();
    767-
    }else{
    768-
    $('#titleTips').hide();
    769-
    }
    770-
    $('#titleTips li').click(function () {
    771-
    $('#Title').val($(this).text());
    772-
    $('#titleTips').hide();
    773-
    })
    774-
    });
    775-
    }
    776-
    $(document).ready(function () {
    777-
    $('#Title').keyup(function (e) {
    778-
    if (e.keyCode != 40 && e.keyCode != 38) {
    779-
    var title = $('#Title').val();
    780-
    if (title != ''){
    781-
    window.setTimeout(""getTitles('"" + title + ""');"", 200);
    782-
    }else{
    783-
    $('#titleTips').hide();
    784-
    }
    785-
    }
    786-
    }).blur(function () {
    787-
    window.setTimeout(""$('#titleTips').hide();"", 200);
    788-
    })});
    789-
    </script>
    790-
    <div id=""titleTips"" class=""inputTips""></div>");
    791-
    builder.Replace("[url]", titleAjaxUrl);
    792-
    793753
    return builder.ToString();
    794754
    }
    795755

    SiteServer.CMS/Core/SqlUtils.cs

    Lines changed: 29 additions & 0 deletions
    Original file line numberDiff line numberDiff line change
    @@ -209,6 +209,7 @@ public static string GetSqlColumnInList(string columnName, List<int> idList)
    209209
    public static string GetInStr(string columnName, string inStr)
    210210
    {
    211211
    var retval = string.Empty;
    212+
    inStr = AttackUtils.FilterSql(inStr);
    212213

    213214
    if (WebConfigUtils.DatabaseType == DatabaseType.MySql)
    214215
    {
    @@ -230,9 +231,37 @@ public static string GetInStr(string columnName, string inStr)
    230231
    return retval;
    231232
    }
    232233

    234+
    public static KeyValuePair<string, IDataParameter> GetInStrWithParameter(string columnName, string inStr)
    235+
    {
    236+
    237+
    var parameterName = $"P{StringUtils.GetShortGuid()}";
    238+
    var sqlString = string.Empty;
    239+
    var parameter = GetIDbDataParameter(parameterName, DataType.VarChar, 0, inStr);
    240+
    241+
    if (WebConfigUtils.DatabaseType == DatabaseType.MySql)
    242+
    {
    243+
    sqlString = $"INSTR({columnName}, @{parameterName}) > 0";
    244+
    }
    245+
    else if (WebConfigUtils.DatabaseType == DatabaseType.SqlServer)
    246+
    {
    247+
    sqlString = $"CHARINDEX(@{parameterName}, {columnName}) > 0";
    248+
    }
    249+
    else if (WebConfigUtils.DatabaseType == DatabaseType.PostgreSql)
    250+
    {
    251+
    sqlString = $"POSITION(@{parameterName} IN {columnName}) > 0";
    252+
    }
    253+
    else if (WebConfigUtils.DatabaseType == DatabaseType.Oracle)
    254+
    {
    255+
    sqlString = $"INSTR({columnName}, @{parameterName}) > 0";
    256+
    }
    257+
    258+
    return new KeyValuePair<string, IDataParameter>(sqlString, parameter);
    259+
    }
    260+
    233261
    public static string GetInStrReverse(string inStr, string columnName)
    234262
    {
    235263
    var retval = string.Empty;
    264+
    inStr = AttackUtils.FilterSql(inStr);
    236265

    237266
    if (WebConfigUtils.DatabaseType == DatabaseType.MySql)
    238267
    {

    SiteServer.CMS/DataCache/ChannelManager.cs

    Lines changed: 1 addition & 0 deletions
    Original file line numberDiff line numberDiff line change
    @@ -93,6 +93,7 @@ public static ChannelInfo GetChannelInfo(int siteId, int channelId)
    9393
    {
    9494
    ChannelInfo channelInfo = null;
    9595
    var dict = ChannelManagerCache.GetChannelInfoDictionaryBySiteId(siteId);
    96+
    if (channelId == 0) channelId = siteId;
    9697
    dict?.TryGetValue(Math.Abs(channelId), out channelInfo);
    9798
    return channelInfo;
    9899
    }

    SiteServer.CMS/Provider/ChannelDao.cs

    +1Lines changed: 1 addition & 13 deletions
    Original file line numberDiff line numberDiff line change
    @@ -1051,8 +1051,6 @@ private static string GetGroupWhereString(string group, string groupNot)
    10511051
    foreach (var theGroup in groupArr)
    10521052
    {
    10531053
    var trimGroup = theGroup.Trim();
    1054-
    //whereStringBuilder.Append(
    1055-
    // $" (siteserver_Channel.GroupNameCollection = '{trimGroup}' OR CHARINDEX('{trimGroup},',siteserver_Channel.GroupNameCollection) > 0 OR CHARINDEX(',{trimGroup},', siteserver_Channel.GroupNameCollection) > 0 OR CHARINDEX(',{trimGroup}', siteserver_Channel.GroupNameCollection) > 0) OR ");
    10561054

    10571055
    whereStringBuilder.Append(
    10581056
    $" (siteserver_Channel.GroupNameCollection = '{trimGroup}' OR {SqlUtils.GetInStr("siteserver_Channel.GroupNameCollection", trimGroup + ",")} OR {SqlUtils.GetInStr("siteserver_Channel.GroupNameCollection", "," + trimGroup + ",")} OR {SqlUtils.GetInStr("siteserver_Channel.GroupNameCollection", "," + trimGroup)}) OR ");
    @@ -1074,7 +1072,7 @@ private static string GetGroupWhereString(string group, string groupNot)
    10741072
    whereStringBuilder.Append(" AND (");
    10751073
    foreach (var theGroupNot in groupNotArr)
    10761074
    {
    1077-
    var trimGroupNot = theGroupNot.Trim();
    1075+
    var trimGroupNot = AttackUtils.FilterSql(theGroupNot.Trim());
    10781076
    //whereStringBuilder.Append(
    10791077
    // $" (siteserver_Channel.GroupNameCollection <> '{trimGroupNot}' AND CHARINDEX('{trimGroupNot},',siteserver_Channel.GroupNameCollection) = 0 AND CHARINDEX(',{trimGroupNot},',siteserver_Channel.GroupNameCollection) = 0 AND CHARINDEX(',{trimGroupNot}',siteserver_Channel.GroupNameCollection) = 0) AND ");
    10801078

    @@ -1150,12 +1148,6 @@ public List<int> GetIdListByTotalNum(List<int> channelIdList, int totalNum, stri
    11501148
    string sqlString;
    11511149
    if (totalNum > 0)
    11521150
    {
    1153-
    // sqlString = $@"SELECT TOP {totalNum} Id
    1154-
    //FROM siteserver_Channel
    1155-
    //WHERE (Id IN ({TranslateUtils.ToSqlInStringWithoutQuote(channelIdList)}) {whereString}) {orderByString}
    1156-
    //";
    1157-
    //var where =
    1158-
    // $"WHERE (Id IN ({TranslateUtils.ToSqlInStringWithoutQuote(channelIdList)}) {whereString})";
    11591151
    var where =
    11601152
    $"WHERE {SqlUtils.GetSqlColumnInList("Id", channelIdList)} {whereString})";
    11611153
    sqlString = SqlUtils.ToTopSqlString(TableName, "Id",
    @@ -1165,10 +1157,6 @@ public List<int> GetIdListByTotalNum(List<int> channelIdList, int totalNum, stri
    11651157
    }
    11661158
    else
    11671159
    {
    1168-
    // sqlString = $@"SELECT Id
    1169-
    //FROM siteserver_Channel
    1170-
    //WHERE (Id IN ({TranslateUtils.ToSqlInStringWithoutQuote(channelIdList)}) {whereString}) {orderByString}
    1171-
    //";
    11721160
    sqlString = $@"SELECT Id
    11731161
    FROM siteserver_Channel
    11741162
    WHERE {SqlUtils.GetSqlColumnInList("Id", channelIdList)} {whereString} {orderByString}

    SiteServer.CMS/Provider/ContentDao.cs

    Lines changed: 14 additions & 14 deletions
    Original file line numberDiff line numberDiff line change
    @@ -868,9 +868,12 @@ public int GetContentId(string tableName, int channelId, string orderByString)
    868868

    869869
    public List<string> GetValueListByStartString(string tableName, int channelId, string name, string startString, int totalNum)
    870870
    {
    871-
    var inStr = SqlUtils.GetInStr(name, startString);
    872-
    var sqlString = SqlUtils.GetDistinctTopSqlString(tableName, name, $"WHERE ChannelId = {channelId} AND {inStr}", string.Empty, totalNum);
    873-
    return DataProvider.DatabaseDao.GetStringList(sqlString);
    871+
    var sqlWithParameter = SqlUtils.GetInStrWithParameter(name, startString);
    872+
    var sqlString = SqlUtils.GetDistinctTopSqlString(tableName, name, $"WHERE ChannelId = {channelId} AND {sqlWithParameter.Key}", string.Empty, totalNum);
    873+
    return DataProvider.DatabaseDao.GetStringList(sqlString, new IDataParameter[]
    874+
    {
    875+
    sqlWithParameter.Value
    876+
    });
    874877
    }
    875878

    876879
    public int GetChannelId(string tableName, int contentId)
    @@ -1689,11 +1692,13 @@ public List<Tuple<int, int>> ApiGetContentIdListBySiteId(string tableName, int s
    16891692
    }
    16901693
    if (!string.IsNullOrEmpty(parameters.ContentGroup))
    16911694
    {
    1692-
    whereString += $" AND ({ContentAttribute.GroupNameCollection} = '{parameters.ContentGroup}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, parameters.ContentGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + parameters.ContentGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + parameters.ContentGroup)})";
    1695+
    var contentGroup = parameters.ContentGroup;
    1696+
    whereString += $" AND ({ContentAttribute.GroupNameCollection} = '{AttackUtils.FilterSql(contentGroup)}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, contentGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + contentGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + contentGroup)})";
    16931697
    }
    16941698
    if (!string.IsNullOrEmpty(parameters.Tag))
    16951699
    {
    1696-
    whereString += $" AND ({ContentAttribute.Tags} = '{parameters.Tag}' OR {SqlUtils.GetInStr(ContentAttribute.Tags, parameters.Tag + ",")} OR {SqlUtils.GetInStr(ContentAttribute.Tags, "," + parameters.Tag + ",")} OR {SqlUtils.GetInStr(ContentAttribute.Tags, "," + parameters.Tag)})";
    1700+
    var tag = parameters.Tag;
    1701+
    whereString += $" AND ({ContentAttribute.Tags} = '{AttackUtils.FilterSql(tag)}' OR {SqlUtils.GetInStr(ContentAttribute.Tags, tag + ",")} OR {SqlUtils.GetInStr(ContentAttribute.Tags, "," + tag + ",")} OR {SqlUtils.GetInStr(ContentAttribute.Tags, "," + tag)})";
    16971702
    }
    16981703

    16991704
    var channelInfo = ChannelManager.GetChannelInfo(siteId, siteId);
    @@ -1859,11 +1864,10 @@ public string GetStlWhereString(int siteId, string group, string groupNot, strin
    18591864
    whereStringBuilder.Append(" AND (");
    18601865
    foreach (var theGroup in groupArr)
    18611866
    {
    1862-
    //whereStringBuilder.Append(
    1863-
    // $" ({ContentAttribute.GroupNameCollection} = '{theGroup.Trim()}' OR CHARINDEX('{theGroup.Trim()},',{ContentAttribute.GroupNameCollection}) > 0 OR CHARINDEX(',{theGroup.Trim()},',{ContentAttribute.GroupNameCollection}) > 0 OR CHARINDEX(',{theGroup.Trim()}',{ContentAttribute.GroupNameCollection}) > 0) OR ");
    1867+
    var trimGroup = theGroup.Trim();
    18641868

    18651869
    whereStringBuilder.Append(
    1866-
    $" ({ContentAttribute.GroupNameCollection} = '{theGroup.Trim()}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, theGroup.Trim() + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + theGroup.Trim() + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + theGroup.Trim())}) OR ");
    1870+
    $" ({ContentAttribute.GroupNameCollection} = '{AttackUtils.FilterSql(trimGroup)}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup)}) OR ");
    18671871
    }
    18681872
    if (groupArr.Length > 0)
    18691873
    {
    @@ -2191,11 +2195,9 @@ public string GetStlWhereString(int siteId, string group, string groupNot, strin
    21912195
    foreach (var theGroup in groupArr)
    21922196
    {
    21932197
    var trimGroup = theGroup.Trim();
    2194-
    //whereBuilder.Append(
    2195-
    // $" ({ContentAttribute.GroupNameCollection} = '{trimGroup}' OR CHARINDEX('{trimGroup},',{ContentAttribute.GroupNameCollection}) > 0 OR CHARINDEX(',{trimGroup},',{ContentAttribute.GroupNameCollection}) > 0 OR CHARINDEX(',{trimGroup}',{ContentAttribute.GroupNameCollection}) > 0) OR ");
    21962198

    21972199
    whereBuilder.Append(
    2198-
    $" ({ContentAttribute.GroupNameCollection} = '{trimGroup}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup)}) OR ");
    2200+
    $" ({ContentAttribute.GroupNameCollection} = '{AttackUtils.FilterSql(trimGroup)}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup)}) OR ");
    21992201
    }
    22002202
    if (groupArr.Length > 0)
    22012203
    {
    @@ -2303,11 +2305,9 @@ public string GetStlWhereStringBySearch(string group, string groupNot, bool isIm
    23032305
    foreach (var theGroup in groupArr)
    23042306
    {
    23052307
    var trimGroup = theGroup.Trim();
    2306-
    //whereBuilder.Append(
    2307-
    // $" ({ContentAttribute.GroupNameCollection} = '{trimGroup}' OR CHARINDEX('{trimGroup},',{ContentAttribute.GroupNameCollection}) > 0 OR CHARINDEX(',{trimGroup},',{ContentAttribute.GroupNameCollection}) > 0 OR CHARINDEX(',{trimGroup}',{ContentAttribute.GroupNameCollection}) > 0) OR ");
    23082308

    23092309
    whereBuilder.Append(
    2310-
    $" ({ContentAttribute.GroupNameCollection} = '{trimGroup}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup)}) OR ");
    2310+
    $" ({ContentAttribute.GroupNameCollection} = '{AttackUtils.FilterSql(trimGroup)}' OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.GroupNameCollection, "," + trimGroup)}) OR ");
    23112311
    }
    23122312
    if (groupArr.Length > 0)
    23132313
    {

    SiteServer.CMS/Provider/DatabaseDao.cs

    Lines changed: 19 additions & 0 deletions
    Original file line numberDiff line numberDiff line change
    @@ -339,6 +339,25 @@ public List<string> GetStringList(string sqlString)
    339339
    return list;
    340340
    }
    341341

    342+
    public List<string> GetStringList(string sqlString, IDataParameter[] parameters)
    343+
    {
    344+
    var list = new List<string>();
    345+
    346+
    using (var conn = GetConnection())
    347+
    {
    348+
    conn.Open();
    349+
    using (var rdr = ExecuteReader(conn, sqlString, parameters))
    350+
    {
    351+
    while (rdr.Read())
    352+
    {
    353+
    list.Add(GetString(rdr, 0));
    354+
    }
    355+
    rdr.Close();
    356+
    }
    357+
    }
    358+
    return list;
    359+
    }
    360+
    342361
    public DateTime GetDateTime(string sqlString)
    343362
    {
    344363
    var datetime = DateTime.MinValue;

    0 commit comments

    Comments
     (0)
    0