| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • javascript模拟游戏中的…

  • javascript设计网页中的…

  • 用javascript实现利用FL…

  • javascript实例教程(19)…

  • javascript实例教程(19)…

  • javascript实例教程(19)…

  • javascript表单之间的数…

  • javascript中的数组应用…

  • 将金额小写转化成汉字大写的…

  • 用javascript实现浏览器…

  • Q
    您现在的位置: 我是IT人 >> 网站制作 >> ASP.NET >> 文章正文
    SQL存储过程在.NET数据库中的应用         
    SQL存储过程在.NET数据库中的应用
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-10
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

     

    在上面的创建存储过程的代码中,我们通过在名称前添加一个“@”标志来声明存储过程的局部变量-参数,同时还声明了各个参数的类型,确定了各个参数的方向值,也即表明该参数是输入型的还是输出型的或者是输入输出型的或者是返回值型的。用户通过相应的存储过程名称以及正确有效的参数便可调用该存储过程了。还有,你可以通过运用OUTPUT关键字在参数中添加输出型的参数,具体方法请参考上面的语法规则。输出型的参数能返回给调用者相关的信息。

    上面的存储过程能更新publishers表中相应出版商的信息。你可以通过点击该存储过程的节点,在右键弹出菜单中选择“运行存储过程”来执行它。一旦执行,IDE中便弹出一个输入出版商信息的对话框(如图3所示)。在该对话框中填入正确有效的更新信息,注意pub_id的值在原来的表中必须存在,然后点击“确定”按钮便可更新数据了。

    五.创建简单存储过程的数据库应用程序:

    下面我们就运用上述的不带参数的存储过程来一个数据库应用程序,其中还用到了ADO.NET中的SqlDataAdapter对象以及DataSet对象。其中的SqlDataAdapter对象作为SQL Server数据库和DataSet对象的桥梁将两者联系在一起。SqlDataAdapter对象包含了两个常用的方法:Fill()方法和Update()方法。其中的Fill()方法能从数据库中获取相应数据并填充到DataSet对象中,而Update()方法顾名思义就是更新数据集的意思了。在调用Fill()方法以前,我们必须设置好SqlDataAdapter对象的SelectCommand属性,该属性其实是一个SqlCommand对象。SelectCommand属性中包含有效的SQL语句,并能据此从数据库中获取相应数据并填充到DataSet对象中。

    首先,我们创建一个Windows Forms应用程序,编程语言为C#。在Visual Studio.NET中创建一个新的项目后,给该项目添加一个新的类-Publishers类,该类封装了连接到后台数据库并获取数据集对象的业务逻辑。步骤如下:

    1.添加必要的命名空间引用:using System.Data.SqlClient;

    2.给该类添加如下一些必要的变量:

    private SqlConnection cnPubs;
    private SqlCommand cmdPubs;
    private SqlDataAdapter daPubs;
    private DataSet dsPubs;
     


    3.在该类的构造函数中完成连接后台数据库,获取SqlDataAdapter对象等业务逻辑:

    public Publishers()
    {
    try
    {
    // 创建一个数据库连接对象
    cnPubs = new SqlConnection( "server=localhost;integrated security=true;database=pubs" );
    // 创建一个SqlCommand对象,并指明其命令类型为存储过程
    cmdPubs = new SqlCommand();
    cmdPubs.Connection = cnPubs;
    cmdPubs.CommandType = CommandType.StoredProcedure;
    cmdPubs.CommandText = "up_GetPublisherInfo";
    // 创建一个SqlDataAdapter对象,设定其SelectCommand属性为上面的SqlCommand对象
    daPubs = new SqlDataAdapter();
    daPubs.SelectCommand = cmdPubs;
    // 创建一个DataSet对象
    dsPubs = new DataSet();
    }
    catch( Exception ) {}
    }
     

    4.最后为该类提供一个GetPublisherInfo()方法,该方法用SqlDataAdapter对象填充DataSet对象并返回填充后的DataSet对象,方法如下(值得注意的是:SqlDataAdapter对象会隐式地打开数据库连接并在获取数据后隐式地关闭连接,这就是说DataSet对象是工作在非连接模式下的。而当你显式地打开数据库连接并获取数据后,SqlDataAdapter对象并不会将该连接关闭):

    public DataSet GetPublisherInfo()
    {
    // 调用SqlDataAdapter对象的Fill()方法并返回数据集对象
    daPubs.Fill( dsPubs );
    return dsPubs;
    }
     

    完成Publishers类的设计后,我们给主窗体添加一个DataGrid控件并用它来显示DataSet对象中的数据。首先给主窗体类添加如下成员变量:

    private Publishers pubs;
    private DataSet ds;
    之后,修改主窗体类的构造函数如下:
    public Form1()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent();
    //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    // pubs = new Publishers();
    ds = pubs.GetPublisherInfo();
    dataGrid1.DataSource = ds.Tables[0];
    }
     

    这样该应用程序一启动主窗体的DataGrid控件中便显示了运用上述不带参数的存储过程从Pubs数据库中获取的相应数据,程序运行图示如下:

    上一页  [1] [2] [3] [4] 下一页  

    文章录入:小秦    责任编辑:小秦 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |