-2
我有一個存儲過程,它接受一個字符串並提取以'@'開頭的子字符串。我決定爲此使用C#DLL並使用SQL程序集訪問此DLL。因此,我在C#中開發了以下方法:如何將程序集中的數組/列表返回到SQL Server中的存儲過程?
[Microsoft.SqlServer.Server.SqlFunction]
public static ? GetSubStrings(string text)
{
List<string> IDs=new List<string>();
foreach (Match match in Regex.Matches(text, @"(?<!\w)@\w+"))
{
try
{
IDs.Add(match.Value.Replace("@", ""));
}
catch (NullReferenceException) { continue; }
}
return IDs;
}
我添加了'?'簽名代替返回類型,因爲我不知道這個方法應該返回什麼樣的返回類型?請告訴我解決方案。我無法找到任何存儲此類數據的SQL類型。
..什麼是match'的'執行這一行'IDs.Add(match.Value.Replace( 「@」, 「」)),前值;'如果'match contains @'然後在IDs.Add(match.Value.Replace(「@」,「」))上面添加一行,並執行match = match.Replace(「@」,「」)''然後做'IDs.Add(match)' – MethodMan
@MethodMan這個方法工作正常,但問題是返回到SQL存儲過程時,我的方法的返回類型應該是什麼。正則表達式代碼不是我的問題。 –
它肯定會很高興看到存儲過程的方式,我們可以確定它應該是一個DataTable,IEnumerable,字符串,詮釋等。 – MethodMan