怎样从SQL Server 2005 CLR存储过程返回结果集
2008-09-05 10:01:56 来源:WEB开发网path——获取文件所在的文件夹;例如C:TEMP。
pattern——通配符,如*.*(所有文件),*.dat,等等。
recursive——是否包含在子文件夹下的文件;1代表true,否则为0。
publicstaticvoidGetListOfFiles(
SqlStringpath,
SqlStringpattern,
SqlBooleanrecursive)
{
SqlPipepipe=SqlContext.Pipe;
SqlMetaData[]cols=newSqlMetaData[1];
cols[0]=newSqlMetaData(
"FILE_NAME",SqlDbType.NVarChar,1024);
SearchOptionsearchOption;
if(recursive==true)
searchOption=SearchOption.AllDirectories;
else
searchOption=SearchOption.TopDirectoryOnly;
stringdir=path.ToString();
if(Directory.Exists(dir)==false)
{
pipe.Send("Directorydoesnotexist");
return;
}
string[]files=Directory.GetFiles(
dir,pattern.ToString(),searchOption);
if(files.Length>0)
{
SqlDataRecordrec=newSqlDataRecord(cols);
pipe.SendResultsStart(rec);
foreach(stringfileinfiles)
{
rec.SetSqlString(0,newSqlString(file));
pipe.SendResultsRow(rec);
}
pipe.SendResultsEnd();
}
else
{
pipe.Send("Nofiles");
}
}
Directory是.NET框架中的一个类。它是用来检查这个路径是否存在并获得文件列表。在上面的代码中从CLR集成的观点来看,重点是:
更多精彩
赞助商链接