精华内容
下载资源
问答
  • 我们用c#写ado或者是asp,都需要连接数据库来读写数据,今天我们就来总结一下数据库连接都有哪些方法。 首先我们就写最直接方法,在事件中直接连接。(在这里就用WEB页面来展示) 首先我们建立web页面,简单两...

    我们用c#写ado或者是asp,都需要连接数据库来读写数据,今天我们就来总结一下数据库连接都有哪些方法。

    首先我们就写最直接的方法,在事件中直接连接。(在这里就用WEB页面来展示)

    首先我们建立web页面,简单的两个textbox控件和一个button控件就可以了。为了配置数据方便,我们在添加一个DataSource

    配置数据源就是为了配置web.config里面的Configuration子节点connectionStrings

    <connectionStrings>
            <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\asp\DataLogin\DataLogin\App_Data\UserData.mdf;Integrated Security=True;User Instance=True"
                providerName="System.Data.SqlClient" />
        </connectionStrings>

    我们可以自己配置,但是在dataSource里面直接配置我觉得简单一点,也不用在记这些配置内容了。

    下面我们就开始直接连接数据库了。

    string username=Username.Text.Trim();
                string password = Password.Text.Trim() 
    SqlDataReader dr;
                System.Data.SqlClient.SqlConnection conn = new SqlConnection();
                
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                //新建sqlCommand对象
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
    cmd.CommandText = "SELECT [pass] FROM [UserInf] WHERE name=@loginname";
     cmd.CommandType = CommandType.StoredProcedure; //CommandType.Text;
                //添加查询参数对象,并给参数赋值
                SqlParameter para = new SqlParameter("@loginname", SqlDbType.NVarChar,50);
                para.Value = username;
                cmd.Parameters.Add(para);
                try
                {
                    conn.Open();
                    //SqlCommand Cmd = new SqlCommand();
                    dr = cmd.ExecuteReader();// 将检索的记录行填充到DataReader对象中
                    if (dr.Read())
                    {
                        if (dr.GetString(0).Trim() == password)
                        {
                            // 登录成功后记下该用户登录名,以便后续功能使用
                            Session.Add("username", username);
                            Username.Text = "";
                            Response.Write("恭喜你,你已登录成功!");
                        }
                        else
                        {
                            Response.Write("用户名或者密码错误!");
                        }
                    }
                    else
                    {
                        Response.Write("对不起,用户不存在!");
                    }
                        
                }
    
                catch (SqlException sqlException)
                {
                    Response.Write(sqlException.Message);   // 显示连接异常信息
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                        conn.Close();
                }

    这种连接数据库登陆的方式最直接,但是也最不容易维护,接下来我们就用添加helper类的方式连接数据库。

    首先我们要建立一个Helper类,微软自己就有封装的Help类,我们可以直接下载一份,不过我们在这里最好是自己写一个

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.SqlClient;
    using System.Configuration;
    
    namespace WebDemo
    {
        public class SqlHelper : IDisposable
        {
            SqlConnection conn = null;
    
    
            public SqlHelper()
            {
                string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                conn = new SqlConnection(connStr);
                conn.Open();
            }
    
            /// <summary>
            /// 实现查询语句返回是否执行(0,1)
            /// </summary>
            /// <param name="sqlCmd"></param>
            /// <returns></returns>
            public int GetResult(string sqlCmd)
            {
                int result = 0;//0代表不存在
                SqlCommand cmd = conn.CreateCommand();
                cmd.ExecuteNonQuery();
                cmd.CommandText = sqlCmd;
                result = Convert.ToInt32(cmd.ExecuteScalar().ToString());
                return result;
            }
            /// <summary>
            /// 关闭数据库
            /// </summary>
            public void Dispose()
            {
                if (conn != null)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
        }
    }

    这里的SqlHelper实现了IDisposable IDisposable接口的主要用途是释放非托管资源。当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存。

    为了简单演示,我只写了三个函数,一个连接,一个查询,一个释放资源。微软的Help类不过是写了很多的重载方法,实现的功能都是按照这个模型来的。

    这个Help类可以实现多次复用,维护变得好了很多,实现在Page页面里页就没有了业务逻辑,

     protected void btnSubmit_Click(object sender, EventArgs e)
            {
                string userName = txtUserName.Text;
                string userPass = txtPass.Text;
                string sqlText = string.Format("SELECT count(*) FROM tblUser WHERE User_Name='{0}' AND User_PassWord='{1}'", userName, userPass);
    
                int result = 0;
                using (SqlHelper helper = new SqlHelper())
                {
                    result = helper.GetResult(sqlText);
                }
    
                if (result == 0)
                {
    
                    Page.RegisterStartupScript("loginError", "<script>window.alert('用户名或密码错误!')</script>");
                }
                else
                {
                    Session["UserName"] = userName;
                    Response.Redirect("~/Index.aspx");
                }
            }

    我们只要传入参数就可以了。

    这里写两种简单的连接数据可的方式,就是为了展示提炼Help类的编程方法,开拓 思维。

    现在编程都是用框架,这种提炼类的方法早已经被用的炉火纯青,但是对于初学者来说,这样自己提炼类对自己来说是一种好的锻炼,

    连接数据库的方法还有很多,这里就写这两种。其中有错误的地方,希望指正。

     

    转载于:https://www.cnblogs.com/widows/p/6804124.html

    展开全文
  • mysql是比较基础这里就不写了这里写一下关于配置postgresql数据库需要哪些首先介绍场景需求。需要连接oushu database 有兴趣可以看一下官网示例:...

    接上篇配好springboot+mybatis+日志。mysql的是比较基础的这里就不写了

    这里写一下关于配置postgresql数据库需要改哪些

    首先介绍场景需求。需要连接oushu database 

    有兴趣的可以看一下官网示例:http://www.oushu.io/docs/ch/programming.html

    springboot+mybatis 连接postgresql的需求是 数据源来自大数据集群。

    按照上两篇的框架基础。去添加连接postgresql数据库

    第一步:

    修改数据库驱动,

    pom文件添加postgresql数据库驱动jar包

    <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>9.4.1212</version>
            </dependency>

    修改application.properties配置文件数据源

    修改地址,端口,库名,用户名,密码 注意:后面都不能有空格否则无法连接到数据必须检测是否有空格

    spring.datasource.url=jdbc:postgresql://localhost:5432/testscmdb?useSSL=false
    spring.datasource.username=dbuser
    spring.datasource.password=123
    spring.datasource.driver-class-name=org.postgresql.Driver

    正常开发controller,service,dao,mapper,domain

    ex:

    controller

      @RequestMapping("/getUser")
        public MarketFrStatV getUser() {
            MarketFrStatV user=marketFrStatVService.getOne();
            return user;
        }

    service

    public interface MarketFrStatVService {
    
        MarketFrStatV getOne();
    
    }

    impl

    @Service
    public class MarketFrStatVServiceImpl implements MarketFrStatVService {
    
    @Autowired
    private MarketFrStatVDao marketFrStatVDao;
    
        @Override
        public MarketFrStatV getOne() {
            MarketFrStatV v=marketFrStatVDao.getOne();
            return v;
        }
    }

    dao

    public interface MarketFrStatVDao {
    
        MarketFrStatV getOne();
    }
    

    mapper

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="org.spring.springboot.dao.test.MarketFrStatVDao">
    
    
    	<parameterMap id="MarketFrStatV" type="org.spring.springboot.domain.test.MarketFrStatV"/>
    
    	<select id="getOne" resultType="org.spring.springboot.domain.test.MarketFrStatV" >
    		SELECT
    		 *
    		FROM market_fr_stat_v3
    		limit 1 offset 1
    	</select>
    </mapper>

    运行启动类查看请求结果



    结束

    感谢观看

    展开全文
  • 两个数据库都是MySql的,一个在我本机,一个在我同事那,在ApplicationContext.xml里配两个DataSource,还需要配置哪些? 然后我在dao使用时怎么分别查询不同数据库的数据? 抱歉啊,新用户,没那个C币。
  • ·哪些情况下需要在jmeter中去连接使用数据库? ·查询校验。 ·查询做参数化 ·构造数据。 ·初始化数据 ·还原数据 ·在Jmeter中,对于数据库的操作,都是基于JDBC方式来实现的。 Jmeter提供了四个组件...
    Jmeter对于数据库的测试和使用。
    	
    ·哪些情况下需要在jmeter中去连接使用数据库?
    	·查询校验。
    	·查询做参数化
    	·构造数据。
    		·初始化数据
    		·还原数据
    
    
    ·在Jmeter中,对于数据库的操作,都是基于JDBC方式来实现的。
    	Jmeter提供了四个组件:
    	·JDBC Connection Configuration:配置组件,必须,可以添加多个。
    	·JDBC Request:JDBC请求组件,一般用于构造数据,执行性能测试等。
    	·JDBC PreProcessor:JDBC前置组件,一般用于构造数据,初始化测试环境、参数化等。
    	·JDBC PostProcessor:JDBC后置组件,一般用于检查点、还原数据。
    	PS:JDBC请求、前置和后置处理器,这三个组件的配置项是一样的,区别只是在于执行的时机(作用域)。
    
    ·JDBC Connection Configuration配置:
    	·Variable Name:连接变量的名称,即连接的别名,由用户自己指定,在后续的JDBC请求中需要用到,表示通过XX连接实现后续的SQL操作。
    
    	·Database URL:数据库的连接URL,不同的数据库的写法不一样。
    	·JDBC Driver class:填写JDBC驱动类的package,JDBC的驱动需要到不同数据库自己的官网下载。下载之后要把jar包放在jmeter的lib目录。
    	·username:数据库的用户名
    	·password:数据库的密码。
    
    
    ·JDBC Request的配置:
    	·Variable Name:该处填写的就是在JDBC Connection Configuration所定义的Variable Name,表示使用对应的JDBC连接配置去连接操作数据库。
    
    	·Query Type:请求类型,要求实际执行的SQL语句和请求类型匹配。
    		·Select statement:对应select关键字
    		·Update statement:对应insert、update、delete、create关键字。
    		·Callable statement:对应存储过程的调用。
    
    		·Prepared Select statement:对应select关键字,支持批量SQL的写法,即允许SQL中出现问号。
    		
    		·Prepared Update statement:对应insert、update、delete、create关键字。支持批量SQL的写法,即允许SQL中出现问号。
    
    
    	·Parameter values:该属性是用于query Type是Prepared类型时,参数传值的。参数之间使用逗号分隔,参数是按照从左到右的顺序一一传值给SQL语句中的问号所在的位置的。
    	在此种情况下,Jmeter自身的参数化就在该处完成。
    
    	·Parameter values:参数类型,和Parameter values对应,要求数量、顺序和·Parameter values保持一致。
    		常用的类型必须大写:
    		VARCHAR
    		NUMBER
    		INTEGER
    		等
    
    
    	·Variable names:该属性是用来指定存储查询结果的变量的名称。
    		变量名称可以有多个,使用逗号分隔。
    		变量将按照顺序一一对应结果中的列,即第一个变量接收第一列的数据,第N个变量接收第N列的数据。因此建议变量的数量和查询结果的列数保持一致。
    		值的存储采取的是类似于数组的方式,下标1表示第一个值,下标N表示第N个值。
    
    	该属性一般是在前置和后置JDBC处理器中使用。
    	用于前置处理器,则是用来实现参数化。
    	用于后置处理器,则是用来实现检查点。
    
    展开全文
  • Java 数据库

    2011-04-27 20:40:00
    1.JDBC-ODBC桥驱动将JDBC调用转换为对ODBC的调用客户端需要配置ODBC数据源与其他数据库的连接,并且必须已安装ODBC驱动2.本地API驱动将JDBC调用转换为对数据库客户端API的调用客户端需要安装数据库厂商提供的...

    一.Java与数据库的连接方式有哪些?

    1.JDBC-ODBC桥驱动

    将JDBC调用转换为对ODBC的调用

    客户端需要先配置ODBC数据源与其他数据库的连接,并且必须已安装ODBC驱动

    2.本地API驱动

    将JDBC调用转换为对数据库客户端API的调用

    客户端需要安装数据库厂商提供的客户端和代码库

    3.网络协议驱动

    将JDBC调用转换为DBMS-independent网络协议,然后由服务器端的中间件转换为具体数据库服务器可以接收的网络协议(相对第二种,不需要客户端加载任何驱动和代码库)

    4.本地协议驱动

    将JDBC调用直接转换为具体数据库服务器可以接收的网络协议(对比第三种,不需要中间件转换),但对于不同的数据库需要下载不同的     驱动程序。

     

    二、单连接数据库(属于上面四种连接方式的第四种)

     

    //注册驱动

    Class.forName(“驱动程序的名字”);

    //获取连接

    String url = "jdbc:oracle:thin:@localhost:1521:ora9i";  // 固定的模式

    Connection conn = DriverManager.getConnection(url, "数据库用户名", "密码");

    //获取SQL执行器

    Statement stmt = conn.createStatement();

    //执行查询语句

    ResultSet rs = stmt.executeQuery("select * from dept");

    //遍历结果集

    while(rs.next()) {

     

    }

     

    上面的代码都要加上try catch,另外,还需要在最后把所有连接都关闭

     

     

    数据库的增删改查

    Statement可用于执行SQL语句,不同类型的SQL语句需要使用不同的方法,如下:

    //执行select语句

    ResultSet executeQuery(String sql);

     

    //执行insert、delete、update语句

    int executeUpdate(String sql);

     

    //执行creat和drop语句

    boolean execute(String sql);

     

    添加操作:

    insert语法格式如下:

    insert into 表名 (字段1,字段2,字段3...) values (字段1值,字段2值,字段3值...);

     

    删除操作:

    delete语法格式如下:

    delete form 表名 [where 条件];

     

    更新操作:

    update语法格式如下:

    update 表名 字段1=值, 字段2=值,...[where 条件];

     

     

    ----------------------------------------------------------------------------------------------------

     

    数据库事务的理解:

    数据库事务:单个逻辑单元执行的一系列操作,它可以由一个或多个SQL语句组成。

    如果事务中的所有SQL语句全部都正确执行,则向数据库提交更改所有数据;如果一旦有错误发生,则不会对数据库作任何修改。

    使用事务可以保障数据库数据的完整性。

     

    利用JDBC事务封装若干个SQL操作时,需要将事务自动提交功能关闭,然后通过代码方式控制事务提交和事务回滚操作。

    // 关闭自动提交功能  conn是一个连接

    conn.setAutoCommit(false);

     

    ...... // 执行几个SQL操作

     

    // 执行事务提交

    conn.commit();

     

    -------------------------------------------------------------------------------------------------------

     

    数据库连接池:

    连接池用于创建和管理数据库连接的缓冲池技术。

     

    连接池原理:

    连接池技术的核心思想是连接复用,通过建立一个数据库连接池以及一套连接使用、分配和管理策略,使得该连接池中的连接可以得到

    高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。

     

    连接池的建立:

    一般在系统初始化时,连接池会根据系统配置建立,并在池中创建几个连接对象,以便使用时能从连接池中获取。

    连接池中的连接不能随意创建和关闭,这样避免了系统的额外开销。

    Java中提供了很多容器类可以方便的构建连接池,如Vector、Stack

     

    连接池的管理:

    管理策略如下:

    当客户请求数据库连接时,首先查看连接池中是否有空闲连接,如果存在空闲连接,则将连接分配给客户使用,如果没有空闲连接,则查看当前所开的连接数是否已经达到了最大连接数,如果没达到就重新创建一个连接给客户;如果达到了就按设定的最大等待时间进行等待,如果超出了最大等待时间,则抛异常给客户。

    当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过就从连接池中删除该连接,否则保留给其他客户继续使用。

     

    连接池的关闭:

    当应用程序退出时,关闭连接池中所有的连接,释放连接池中相关的资源,该过程正好与创建相反。

     

     

     

    展开全文
  •  在接入各类日志和事件前,指定需要采集的目标、接入方式以及相关参数(如数据库的各种连接参数)、选择标准化的脚本和过滤及归并策略;  2.数据识别:  根据指定的标准化脚本,对相应日志或事件进行标准...
  • 二、waterline可以使用一样语句来操作不同的数据库,奥秘就在于不同适配器,在进行配置的时候,需要设置两方面内容,一是具体使用哪些适配器,二是建立数据库连接的时候,使用哪个适配器。下面是使用mysql...
  • 1 MySQL存储引擎的配置 1.1 问题 本案例要求MySQL数据存储引擎使用,完成以下任务操作: • 查看服务支持存储引擎 • 查看默认存储类型 • 更改表存储引擎 • 设置数据库服务默认使用存储引擎 1.2 步骤 实现...
  • 1.JDBC-ODBC桥驱动将JDBC调用转换为对ODBC的调用客户端需要配置ODBC数据源与其他数据库的连接,并且必须已安装ODBC驱动2.本地API驱动将JDBC调用转换为对数据库客户端API的调用客户端需要安装数据库厂商提供的...
  • 我是一个门外汉,搞电气自动化,项目里有一个功能需要用到VBA连接数据库,显示产量数据,现在遇到这么一个问题,已经处理了一个月,还是没有什么进展,故到论坛请教大神指导!! 下边是我代码: Dim Conn As ...
  • 10.6.3 支持的连接方法 352 10.6.4 并行连接 352 10.7 分区智能连接 353 10.7.1 完全分区智能连接 353 10.7.2 部分智能分区连接 355 10.8 转换 357 10.8.1 连接去除 357 10.8.2 外连接转换为内连接 ...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 书中内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据数据库的备份与恢复、性能调优,等等。  本书还提供了dba完成本职工作必备的基本的uniix...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    SYSTEM表空间主要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据...
  • 1、现有的数据库进行备份:因为需要重新安装配置mysql,所以数据库需要先备份,后面安装配置完成后才可以正确连接上; 2、如何卸载当前mysql; 3、正确安装步骤有哪些? 4、数据如何启动定时备份之类? 5、...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • MySQL存储引擎的配置

    2020-07-10 08:36:18
    1案例1:MySQL存储引擎的配置 1.1问题 本案例要求MySQL数据存储引擎使用,完成以下任务操作: 查看服务支持存储引擎 查看默认存储类型 更改表存储引擎 设置数据库服务默认使用存储引擎 1.2步骤 实现此案例...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...
  • 通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 248
精华内容 99
关键字:

数据库的连接配置需要哪些数据