我正处于紧要关头。我正在阅读一个非分隔的文本文件,并且除了一个细节之外已经成功:我需要在作为员工标识符的字符串行中识别一个 10 位数字,并将其链接到数据库以提取电子邮件并向员工发送电子邮件文件。我没有问题单独提取每个员工的文件(这是一个包含所有员工数据的大型文本文件),但我需要通过电子邮件将这个单独的文件发送给他们。现在,我有一个查询,虽然根本没有优化,但不会导致操作问题,因为它是一个辅助数据库并且几乎没有使用。
using (var cnn = new SqlConnection(connStr))
{
cnn.Open();
using (var cmd = new SqlCommand("SELECT EMail from Stubs WHERE CONTAINS (ID, @ID)", cnn))
{
cmd.Parameters.AddWithValue("@ID", (line));
using (var rdr = cmd.ExecuteReader())
{
if (rdr.HasRows)
{
while (rdr.Read())
{
email = rdr.GetString(0);
}
}
}
}
我正在检查每个读取行并将其与一个字段进行比较。显然这是行不通的,因为字符串总是由以下组成:
Acct 0100001170 180.18 39,870.80
我需要在那里提取这 10 位数字 0100001170,并使用提取的值来识别数据库中的列并获取电子邮件地址。
我怎样才能只提取那个数字?可能吗?