CREATE FUNCTION [dbo].[CalcHelperString_Split]
(
@str VARCHAR(MAX),
@delimiter VARCHAR(10)
)
RETURNS TABLE
AS
RETURN
SELECT t.c.value('(./text())[1]', 'VARCHAR(MAX)') as item
FROM
(
SELECT x = CONVERT(XML, '<i>' + REPLACE(@str, @delimiter, '</i><i>') + '</i>').query('.')
) a
CROSS APPLY x.nodes('i') t(c)
WHERE t.c.value('(./text())[1]', 'VARCHAR(MAX)') is not null;
GO
DECLARE @TTT TABLE (column1 VARCHAR(50), column2 VARCHAR(100))
INSERT INTO @TTT (column1, column2)
VALUES('Какие-то данные 1', 'строка1;строка2;строка3;'),
('Какие-то данные 2', 'строка4;строка5;строка6;'),
('Какие-то данные 3', 'строка7;'),
('Какие-то данные 4', 'строка8;строка9;')
SELECT * FROM @TTT t
CROSS APPLY dbo.CalcHelperString_Split(t.column2, ';') f
int y = startY;
this.SuspendLayout();
foreach(var contact in GetContactsFromSite())
{
Label lbl = new Label();
lbl.Text = contact.Name;
lbl.Location = new Point(startX,y);
y += lbl.Height + 4;
lbl.Click += (s,e) => { /*some handler */ };
this.Controls.Add(lbl);
}
this.ResumeLayout();
set @Name = replace(replace(replace(@Name,char(10),' '),char(13),' '),'@','_');
declare @Name varchar(200) = 'abcdefg';
select @Name = replace(@Name, t.c, t.r)
from (
values ('a','_'),('b','_'),('c','_')
) t(c,r)
print @Name
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Selection()
{
if (!String.IsNullOrEmpty(rtbTextPad.Text))
{
rtbTextPad.SelectionStart = 0;
rtbTextPad.SelectionLength = rtbTextPad.Text.Length;
rtbTextPad.SelectionColor = Color.Red;
}
System.Console.WriteLine("selected");
}
private void button1_Click(object sender, EventArgs e)
{
Selection();
}
}
IEnumerable<string> strings = avsearcher.Get().Select(avResult => avResult.ToDisplayName()) // это метод расширение, который делает нужную вам строку
.Concat(
gs.Get().SelectMany(gr => gr.Properties).Where(prt => prt.Name == "Description").Select(pry => prt.Value.ToString()) // здесь тоже можно использовать метод расширение
).Concat(
sar.Get().Select(gob => gob.ToDisplayName()) // тоже метод расширение
); // и т.д.
// ну а дальше можно уже даже через foreach или любым другим способом записать в twf
class Result<T> {
public T Result {get; private set; }}
public bool Success {get; private set; }}
public IEnumerable<Exception> Errors { get ... }
public string ErrorMessage {get ... } // этого можно и не делать
private Result() {}
public static Result<T> Success(T result) { return new Result() { Result = result, Success = true }; }
public static Result<T> Fail(Exception ex) { return new Result() { Success = false, Errors = new List<Exception>() { ex }, ErrorMessage = ex.Message }; }
}