.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
根据存储过程的参数名得到存储过程的参数信息???????

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

declare   @ProID bigint
select  @ProID=id from sysobjects where  type='p' and name=@ProdecureName
select a.name N'参数名' ,
COLUMNPROPERTY(@ProID,a.name,'PRECISION') as N'长度',
a.length N'占用字节数',
a.isoutparam N'是否输入参数',
a.xprec N'精度',isnull(COLUMNPROPERTY(@ProID,a.name,'Scale'),0) as N'小数位数',
--colid ,可以不要这个
b.name N'数据类型'
 from  syscolumns a,systypes b
 where id=@ProID and b.xusertype=a.xusertype
当然这个语句还有问题的:
如何判断是否有返回值的问题没有解决;
不过我在分析器里面看到每一个存储过程好像都有返回值。不知道是不是对的
如果,能将对(N》=1)表的操作和相应的存储过程(如:添加,删除,修改,更新等)封装到
一个对应的实体类中,应该对性能的提高有一定的帮助的
当然,好像对特定的查询没有什么太大的意义
如下:
using System;
using System.EnterpriseServices ;
using System.Data .SqlClient ;
namespace SevCompant
{
 public interface   IDataConnection
 {
  /// <summary>
  /// 数据库连接
  /// </summary>
  SqlConnection DataBaseConnection
  {
   get{}
  }
  
 }
 /// <summary>
 /// Class1 的摘要说明。
 /// </summary>
 [EventTrackingEnabled(true)]
 [Transaction(TransactionOption.Supported  )]
 [ObjectPooling(MinPoolSize=2,MaxPoolSize=10,CreationTimeout=20000)]
 [System.EnterpriseServices.ConstructionEnabled(Enabled=true,
   Default="Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=(local)")]
 public class DataBaseEntity:System.EnterpriseServices.ServicedComponent ,IDataConnection
 {
  public DataBaseEntity()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  protected override void Construct(string s)
  {
   // TODO:  添加 DBUtility.Construct 实现
   this.mConnString=s;
  }
  private string mConnString="";
  protected  override bool CanBePooled()
  {
   // TODO:  添加 DBUtility.CanBePooled 实现
   return true;
  }
  #region IDataConnection 成员
  public SqlConnection DataBaseConnection
  {
   get
   {
    // TODO:  添加 DataBaseEntity.DataBaseConnection getter 实现
    ContextUtil.DeactivateOnReturn=true;
    return  new SqlConnection(this.mConnString);
   }
  }

  #endregion
 }
}

如果将对某一个表的CRUD操作也封装进去,应该可以省不少的事




相关文章

相关软件