zoukankan      html  css  js  c++  java
  • asp.net 连接SQL Server 数据库并进行相关操作

    asp.net 连接数据库,操作数据库主要需要两个类,一个是SqlConnection,一个是SqlCommand

    SqlConnection用于连接数据库,打开数据库,关闭数据库。

    连接数据库需要特定格式,特定参数的字符串,如代码中写的,服务器地址,数据库名称,用户名密码,以及其他参数

    SqlCommand用于操作数据库,先创建基于一个特定SqlConnection对象的SqlCommand对象,通过ExecuteNonQuery方法执行给定的sql语句。

    增删改都可以只是这样就操作成功,但查询因为需要把数据读到一个地方,所以有一个新的对象出现了:SqlDataReader

    通过SqlCommand对象的ExecuteReader方法得到一个SqlDataReader对象,SqlDataReader对象包含数据集,通过对SqlDataReader对象遍历即可取出查询的数据。

         public void openDatabase()
            {
                conn = new SqlConnection();
               //conn.ConnectionString = "Integrated Security=SSPI;Data Source=(local);initial catalog=test;User ID ='sa';password=123456";
                conn.ConnectionString = "Integrated Security=SSPI;Data Source=(local);initial catalog=test";
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
            }
            public void execute(String sql)
            {
                openDatabase();
                cmd = new SqlCommand(sql, conn);
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            protected void Page_Load(object sender, EventArgs e)
            {
                ResponseBean responseBean = new ResponseBean(Request);
                var sign = GetSign(responseBean).ToLower();
                if (responseBean.p4_zfstate == "1" && sign.Equals(responseBean.p10_sign))
                //if (responseBean.p4_zfstate == "1")
                {
                    //服务器操作
                    Response.Write("Success");
                    //exec [RYTreasureDB].[dbo].[WEB_JFTNotify] 'JFTAPP20180803161806183015224'
                    sql = "exec [RYTreasureDB].[dbo].[WEB_JFTNotify] '" + responseBean.p2_ordernumber + "'";
                    execute(sql);
                   
                }
                else
                {
                    Response.Write("无参数或者参数不正确");
             //       sql = "update [RYTreasureDB].[dbo].[OnLineOrder] set OrderStatus=1 where OrderID='" + "JFTAPP20180803144628796685254" + "'and isCalc=0";
             //       execute(sql);
                }
            }// function Page_Load

    上面一段代码主要逻辑功能在

    Page_Load函数,而我通过这里连接数据库之后执行了一个存储过程。这样很多问题就可以通过修改存储过程解决,不用经常修改代码
    上面conn.ConnectionString写在代码里也是不好的,最好写在配置文件Web.config中。
    在<appSettings>添加配置项<add key="ConnectionString" value="Integrated Security=SSPI;Data Source=(local);initial catalog=test" />

    通过conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]获取即可;

    参考文章https://blog.csdn.net/lqadam/article/details/50865024
  • 相关阅读:
    禁止chrome浏览器自动更新检查
    第 3 章 容器
    在CentOS安装配置Nginx基于Docker容器方式
    CentOS各版本系统ISO镜像下载地址
    CentOS6虚拟机安装部署ActiveMQ 5.14
    Elasticsearch 实战与原理解析
    Elasticsearch 实战与原理解析
    Elasticsearch 实战与原理解析
    Elasticsearch源码解析与优化实战:附录 A 重大版本变化
    jmeter(一)安装与配置,ant和jenkins接口测试自动化
  • 原文地址:https://www.cnblogs.com/nanqiang/p/9596685.html
Copyright © 2011-2022 走看看