WEB开发网
开发学院数据库MSSQL Server 怎样从SQL Server 2005 CLR存储过程返回结果集 阅读

怎样从SQL Server 2005 CLR存储过程返回结果集

 2008-09-05 10:01:56 来源:WEB开发网   
核心提示: path——获取文件所在的文件夹;例如C:TEMP,pattern——通配符,怎样从SQL Server 2005 CLR存储过程返回结果集(2),如*.*(所有文件),*.dat,publicstaticvoidGetListOfFiles

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集成的观点来看,重点是:

Tags:怎样 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接