小编Sky*_*ive的帖子

将匹配结果从正则表达式转换为字符串列表

如何将匹配结果列表从正则表达式转换为List<string>?我有这个功能,但它总是会产生异常,

无法将类型为"System.Text.RegularExpressions.Match"的对象强制转换为"System.Text.RegularExpressions.CaptureCollection".

public static List<string> ExtractMatch(string content, string pattern)
{
    List<string> _returnValue = new List<string>();
    Match _matchList = Regex.Match(content, pattern);
    while (_matchList.Success)
    {
        foreach (Group _group in _matchList.Groups)
        {
            foreach (CaptureCollection _captures in _group.Captures) // error
            {
                foreach (Capture _cap in _captures)
                {
                    _returnValue.Add(_cap.ToString());
                }
            }
        }
    }
    return _returnValue;
}
Run Code Online (Sandbox Code Playgroud)

如果我有这个字符串,

I have a dog and a cat.
Run Code Online (Sandbox Code Playgroud)

正则表达式

dog|cat
Run Code Online (Sandbox Code Playgroud)

我希望函数将结果返回到 List<string>

dog
cat
Run Code Online (Sandbox Code Playgroud)

.net c# regex

38
推荐指数
3
解决办法
5万
查看次数

数据库模式混乱(索引和约束)

我对架构的设计有点困惑,但在开始之前,让我先向您展示架构,

CREATE TABLE Person
(
    PersonID INT NOT NULL PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    -- some columns here..
    CONSTRAINT tb_idF INDEX (FirstName),
    CONSTRAINT tb_idL INDEX (LastName)
    -- or 
    -- CONSTRAINT tb_idL INDEX (FirstName, LastName)
    -- other constraints ...
);

CREATE TABLE JobDescription
(
    JobDescriptionID INT NOT NULL PRIMARY KEY,
    JobDescriptionName VARCHAR(50) UNIQUE
    -- some columns here..
    -- constraints ...
);
Run Code Online (Sandbox Code Playgroud)

并且混淆在这里,表的映射表:PersonJobDescription.目前,我有这个设计,

CREATE TABLE Person_JobDescription
(
    RECID INT AUTO_INCREMENT PRIMARY KEY,   -- …
Run Code Online (Sandbox Code Playgroud)

mysql sql database schema

8
推荐指数
1
解决办法
574
查看次数

提高LIKE子句的性能

在过去的几天里,这一直是我的痛苦.我之前没有任何关于性能的知识就创建了数据库LIKE.我使用的查询是这样的,

SELECT  ....
FROM    .... JOINS ....
WHERE   tableA.col1 LIKE '%keyword%' OR
        tableB.col2 LIKE '%keyword%' OR
        tableC.col2 LIKE '%keyword%' OR
        .....
Run Code Online (Sandbox Code Playgroud)

当我测试查询时,它非常快,因为它上面只有大约100-150条记录.我想搜索包含关键字的任何字符串.几个月过去了,数据库变得庞大,包含50,000条记录.而这一次,我已经遇到了查询的低性能.它非常低.

有什么建议我可以改进吗?我不能改变数据库,因为它已经被公司使用过了.

顺便说一下,我的桌子都是INNODB.

mysql sql

6
推荐指数
1
解决办法
126
查看次数

Java中的GridView

我是.Net开发人员,是Java环境的新手.我目前正在使用Netbeans 7.1.在Windows窗体有DatagridView,ListBoxListView.Swing中有哪些等效控件,特别是DatagridView?如何绑定这些网格ResultSet

建议的教程链接非常感谢.

java swing netbeans

5
推荐指数
1
解决办法
1万
查看次数

通过从表中的所有记录重新排序日期来更新字段

目前,我有这个记录

发票清单表

InvoiceID   StoreCustomerID IssuedDate Amount      IsPenalty   EmployeeID
----------- --------------- ---------- ----------- ----------- -----------
1           13              2007-01-12 244         0           41
2           31              2007-04-05 81          0           34
3           23              2007-01-09 184         0           46
4           28              2007-11-21 231         0           17
5           36              2006-09-19 121         0           22
6           28              2006-10-24 240         0           17
7           15              2006-12-11 193         0           47
8           21              2007-01-15 172         0           4
Run Code Online (Sandbox Code Playgroud)

InvoiceID自动递增.我想要做的是IssuedDate通过增量更新前一行的日期.我想像这样更新它

InvoiceID   StoreCustomerID IssuedDate Amount      IsPenalty   EmployeeID
----------- --------------- ---------- ----------- ----------- -----------
1           13 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

4
推荐指数
1
解决办法
195
查看次数

使用DISTINCT关键字时,为什么此查询结果不会更改?

为什么两个查询的结果相同?(我正在使用northwind数据库.)

SELECT      ContactTitle
        ,   COUNT(CustomerID) AS NumberOfCustomer
FROM        dbo.Customers
WHERE       ContactTitle LIKE '%sales%'
GROUP BY    ContactTitle
HAVING      COUNT(*) >= 5
ORDER BY    NumberOfCustomer desc
Run Code Online (Sandbox Code Playgroud)

SELECT 
DISTINCT    ContactTitle
        ,   COUNT(CustomerID) AS NumberOfCustomer
FROM        dbo.Customers
WHERE       ContactTitle LIKE '%sales%'
GROUP BY    ContactTitle
HAVING      COUNT(*) >= 5
ORDER BY    NumberOfCustomer desc
Run Code Online (Sandbox Code Playgroud)

结果是:

ContactTitle           NumberOfCustomer
---------------------  ----------------
Sales Representative         17
Sales Manager                11
Sales Associate               7
Sales Agent                   5
Run Code Online (Sandbox Code Playgroud)

根据我自己的理解,第二个查询得到不同的标题并计算其记录,所以我期望结果将是无,因为每个标题只有记录计数1.我是对的吗?

sql distinct

3
推荐指数
1
解决办法
145
查看次数

LiNQ有不同的结果

我有这个叫Variables有多个成员的类,其中一个叫做Name字符串.假设我有一个List<Variables>.这样做NamesX,Y,Y,Z.

string variableName = 'Y';

int _totalCount = (from p in variableList
                    where p.Name == variableName
                    select p.Name).Count();

int _totalCount2 = variableList.Select(x => x.Name == variableName).Count();
Run Code Online (Sandbox Code Playgroud)

问:为什么是_totalCount收益2(这是我想要什么),而_totalCount2回报4

.net c# linq

3
推荐指数
1
解决办法
58
查看次数

按年份获取记录

我有一个带有文本字段的表单,用户将只提供年份,MySQL数据应该返回给定年份的所有数据.但是在MySQL数据库中,格式date是给出的date(yyyy-mm-dd).

任何人都可以建议SQL查询来获取该特定年份的所有数据吗?

php mysql date

3
推荐指数
1
解决办法
71
查看次数

如何循环遍历 DataView

可能的重复:
循环遍历 DataView 中的行

我已经从数据表创建了一个数据视图。

我的问题是如何在数据视图中循环?

我知道在数据表中我可以执行如下循环:

For Each oRow as DataRow in iDataset.Tables("tableName")
     Msgbox oRow(0).ToString
Next
Run Code Online (Sandbox Code Playgroud)

我该怎么做DataView

vb.net dataview loops

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

sql ×4

mysql ×3

.net ×2

c# ×2

database ×1

dataview ×1

date ×1

distinct ×1

java ×1

linq ×1

loops ×1

netbeans ×1

php ×1

regex ×1

schema ×1

sql-server ×1

swing ×1

t-sql ×1

vb.net ×1