数据库连接类

合集下载

Oracle数据库连接的几种方式

Oracle数据库连接的几种方式

Oracle数据库连接的⼏种⽅式⼀、本地通过JDBC获得Oracle数据库连接通过JDBC获得Oracle数据库连接,有三种⽅式:OCI⽅式、thin⽅式和JdbcOdbc桥⽅式。

OCI⽅式依赖于本地的动态链接库,如果在本地安装了Oracle数据库客户端可以采⽤该⽅式;⽽thin⽅式为纯java的数据库连接⽅式;JdbcOdbc桥⽅式依赖于本地ODBC数据库源的配置,这种⽅式⼀般不太被采⽤。

1、OCI⽅式 先在本地安装Oracle客户端,安装完之后,在安装的路径中可以找到…/jdbc/lib/classes12.zip⽂件,我们在环境变量classpath中设置classes12.zip所在的路径。

然后通过以下的数据库连接类,在本地通过OCI⽅式获得Oracle数据库连接。

/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*;import javax.naming.*;/*** 通过OCI⽅式获得Oracle数据库连接*/public class DbConnection{ final static String sDBDriver = "oracle.jdbc.driver.OracleDriver"; final static String sConnStr = "jdbc:oracle:oci8:sr/sr@ora199"; /** * */ public DbConnection() { } /** * 获得Oracle数据库连接 */ public java.sql.Connection connectDbByOci() { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }}/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*;import javax.naming.*;/*** 通过thin⽅式获得Oracle数据库连接*/public class DbConnection{ private String sConnStr = ""; /** * 缺省构造器 */ public DbConnection() { sConnStr = "jdbc:oracle:thin:@10.1.4.199:1521:ora199"; } /** * @param ip,serviceName */ public DbConnection(String ip,String serviceName) { sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName; } /** * 通过thin⽅式获得Oracle数据库的连接. */ public java.sql.Connection connectDbByThin() { java.sql.Connection conn=null; try { Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr,"sr","sr"); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; } /** * 通过thin⽅式获得Oracle数据库的连接. * @param userId,password */ public java.sql.Connection connectByJdbc(String userId,String password) { java.sql.Connection conn=null; try {  Class.forName(sDBDriver); conn = DriverManager.getConnection(sConnStr,userId,password); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }} 这种⽅式运⽤起来⽐较灵活,简单,具有较强的移植性和适⽤性。

各种数据库连接方式

各种数据库连接方式

各种数据库连接⽅式1:介绍1) Java的应⽤程序与数据库的连接都是通过JDBC来完成的,现在主流的数据库⼏乎都⽀持JDBC,程序员只要掌握了JDBC的开发技术就可以对各种数据库进⾏操作了。

2)⽀持JDBC的数据库具体有:Oracle、SQL Server、MySQL、DB2等。

3) Windows下最简单的⼀种连接数据库的⽅式就是采⽤ODBC,因此JDBC中专门提供了可以连接ODBC数据源的驱动程序——JDBC-ODBC连接桥。

(ODBC是微软公司为Windows平台提供的开放的数据库连接标准,使⽤它可以在Windows平台下访问⼏乎所有的数据库)2:连接Access数据库1)由于Access数据库没有官⽅的专⽤JDBC驱动程序,所以必须将Access数据库连接到ODBC,再通过JDBC-ODBC连接桥连接到ODBC 来访问数据库。

2)⾸先要为指定的Access数据库设置ODBC数据源,具体步骤如下:控制⾯板->管理⼯具->数据源(ODBC)添加->选择数据源的驱动程序(选择Access驱动)->点击完成->填写具体属性3)使⽤代码加载JDBC-ODBC的驱动程序,并且连接(Connection)上指定的Access数据库,建⽴语句(Statement),然后由语句对数据库进⾏创建表格、新增、修改等操作,最后返回结果(ResultSet)并打印。

(代码略)各种数据库连接⽅式1.mysql数据库Class.forName("com.mysql.jdbc.Driver").newInstance;String URL = "jdbc:mysql://localhost:3306:/myDB";String Username = "username";//⽤户名String Password = "Password";//密码Connection con = DriverManager.getConnection(URL,Username,Password);2.oracle数据库(thin模式)Class.forName("oracle.jdbc.driver.oracle.Driver").newInstance;String URL = "jdbc:oracle:thin:@localhost:1521:orcl";String Username = "username";String Password = "password";Connection con = DriverManager.getConnection(URL,Username,Password);3.SQL server 数据库Class.forName("com.mircosoft.sqlserver.jdbc.SQLserverDriver").newInstance;String URL = "jdbc:microsoft:sqlserver://localhost:1433:DatabaseName=mydb";String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL, username,Password);4.DB2数据库Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); //连接具有DB2客户端的Provider实例String URL = "jdbc:db2://localhost:5000/sample";// sample为数据库名String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL, Username, Password);5.PostgreSQL数据库//PostgreSQL是⼀种特性⾮常齐全的⾃由软件的对象-关系型数据库管理系统(ORDBMS),可以说是⽬前世界上最先进,功能最强⼤的⾃由数据库管理系统Class.forName("org.postgresql.Driver").newInstance();String URL = "jdbc:postgresql://localhost/myDB " //DB为数据库名String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL, username,password);rmix: 数据库Class.forName("rmix.jdbc.IfxDriver").newInstance();String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver"; //db_name为数据库名String Username="username";String Password="password";Connection con=DriverManager.getConnection(URL,Username,Password)7. sybase数据库Class.forName("com.sybase.jdbc.SybDriver");String URL = "jdbc:sybase://localhost:5007/db_name";String username = "username";String password = "password";Connection con = DriverManager.getConnection(URL,username,password);8. JDBC-ODBC:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();String URL="jdbc:odbc:dbsource"; //dbsource为数据源名String Username="username"; //⽤户名String Password="password"; //密码Connection con=DriverManager.getConnection(URL,Username,Password);。

数据库连接代码大全

数据库连接代码大全

-----------MySQL 连接方式-----------MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式本地数据库连接Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;远程数据连接:Driver={mySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBas e; User=myUsername;Password=myPassword;特殊的TCP/IP端口连接Driver={mySQL};Server=myServerAddress;Port=3306;Option=131072;Stmt=;Database= myDataBase; User=myUsername;Password=myPassword;说明:此Driver的默认端口是3306。

如果没有在连接字符串中特别指出就是连接Mysql的3306端口。

MySQL Connector/ODBC 3.51 (MyODBC 3.51)连接方式本地数据库连接Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;远程数据连接Driver={MySQL ODBC 3.51Driver};Server=;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;特殊的TCP/IP端口连接Driver={MySQL ODBC 3.51Driver};Server=;Port=3306;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;说明:此Driver的默认端口是3306。

数据库内连接查询语句

数据库内连接查询语句

数据库内连接查询语句数据库内连接查询语句是数据库中常用的一种查询方法,用于从多个表中检索数据并进行关联。

下面是十个符合要求的数据库内连接查询语句的示例:1. 查询订单表和客户表中的所有匹配记录:SELECT * FROM 订单表 INNER JOIN 客户表 ON 订单表.客户ID = 客户表.客户ID;2. 查询学生表和课程表中的所有匹配记录:SELECT * FROM 学生表 INNER JOIN 课程表 ON 学生表.学生ID = 课程表.学生ID;3. 查询员工表和部门表中的所有匹配记录:SELECT * FROM 员工表 INNER JOIN 部门表 ON 员工表.部门ID = 部门表.部门ID;4. 查询商品表和分类表中的所有匹配记录:SELECT * FROM 商品表 INNER JOIN 分类表 ON 商品表.分类ID = 分类表.分类ID;5. 查询订单表、客户表和商品表中的所有匹配记录:SELECT * FROM 订单表 INNER JOIN 客户表 ON 订单表.客户ID = 客户表.客户ID INNER JOIN 商品表 ON 订单表.商品ID = 商品表.商品ID;6. 查询学生表、课程表和成绩表中的所有匹配记录:SELECT * FROM 学生表 INNER JOIN 课程表 ON 学生表.学生ID = 课程表.学生ID INNER JOIN 成绩表 ON 学生表.学生ID = 成绩表.学生ID;7. 查询员工表、部门表和工资表中的所有匹配记录:SELECT * FROM 员工表 INNER JOIN 部门表 ON 员工表.部门ID = 部门表.部门ID INNER JOIN 工资表 ON 员工表.员工ID = 工资表.员工ID;8. 查询商品表、分类表和库存表中的所有匹配记录:SELECT * FROM 商品表 INNER JOIN 分类表 ON 商品表.分类ID = 分类表.分类ID INNER JOIN 库存表 ON 商品表.商品ID = 库存表.商品ID;9. 查询订单表和客户表中匹配的记录,并按照订单金额升序排序:SELECT * FROM 订单表 INNER JOIN 客户表 ON 订单表.客户ID = 客户表.客户ID ORDER BY 订单表.订单金额 ASC;10. 查询学生表和课程表中匹配的记录,并按照课程名称降序排序:SELECT * FROM 学生表 INNER JOIN 课程表 ON 学生表.学生ID = 课程表.学生ID ORDER BY 课程表.课程名称 DESC;以上是十个符合要求的数据库内连接查询语句的示例,它们可以用于从多个表中检索数据并进行关联。

几种常见的数据库连接方法

几种常见的数据库连接方法

几种常见的数据库连接方法一、连接Access数据库1.使用已有DSN的连接字符串进行连接(ODBC)使用DSN进行连接〃导入命名空间using System.Data.Odbc;protected void Page_Load(Object sender,EventArgs e)(〃设置连接字符串String connstr=@"DSN=sample";〃实例化Connection对象OdbcConnection myConnection = new OdbcConnection(connstr);〃执行Open方法打开连接myConnection.Open();〃执行SQL语句OdbcCommand myCommand new OdbcCommand("select * from sampletable",myConnection);〃将查询的结果赋给GridView的数据源gv.DataSource = myCommand.ExecuteReader();〃绑定GridViewgv.DataBind();〃关闭连接myConnection.Close();)2.使用无DSN的连接字符串进行连接(ODBC)不使用DSN进行连接〃导入命名空间using System.Data.Odbc;protected void Page_Load(Object sender,EventArgs e)(〃设置连接字符串String connstr=@"Driver=Microsoft Access Driver (*.mdb);Dbq=c:\sample.mdb;";〃实例化Connection对象OdbcConnection myConnection = new OdbcConnection(connstr);〃执行Open方法打开连接myConnection.Open();〃执行SQL语句OdbcCommand myCommand new OdbcCommand("select * from sampletable",myConnection);〃将查询的结果赋给GridView的数据源gv.DataSource = myCommand.ExecuteReader();〃绑定GridViewgv.DataBind();〃关闭连接myConnection.Close();)3.使用连接字符串进行连接(OLEDB) Data Provider 支持的OLEDB Provider:SQLOLEDB:用来访问SQL Server数据库MSDAORA:用来访问Oracle数据库Microsoft.Jet.OLEDB.4.0:用来访问Access 数据库。

sqliteconnection类

sqliteconnection类

sqliteconnection类什么是SQLiteSQLite是一个轻量级的数据库引擎,它是一种嵌入式数据库引擎,可以在没有后台数据库服务器的情况下直接访问和操作数据库文件。

SQLite是使用C语言编写的,它具有简单、易用、高效、可靠的特点。

在移动设备和嵌入式系统中广泛应用,也被用作开发桌面应用程序的数据库存储引擎。

连接SQLite数据库在使用SQLite数据库之前,我们需要先与数据库建立连接。

连接SQLite数据库的过程可以通过SQLiteConnection类来实现。

SQLiteConnection类是SQLite库提供的一个类,用于与SQLite数据库进行交互。

创建SQLiteConnection对象要连接SQLite数据库,我们首先需要创建一个SQLiteConnection对象。

SQLiteConnection类在System.Data.SQLite命名空间中定义。

可以使用以下代码创建一个SQLiteConnection对象:using System.Data.SQLite;SQLiteConnection connection = new SQLiteConnection("data source = path/to/data base.db");在上面的代码中,我们使用SQLiteConnection的构造函数创建一个SQLiteConnection对象。

构造函数的参数是一个连接字符串,其中data source指定了要连接的数据库文件的路径。

打开和关闭连接连接SQLite数据库和其他数据库非常相似,我们可以使用Open和Close方法来打开和关闭数据库连接。

以下是打开和关闭连接的示例代码:connection.Open();// 需要执行一些操作...connection.Close();在上面的代码中,我们使用Open方法打开数据库连接,操作完成后使用Close方法关闭连接。

数据库join种类

数据库join种类

数据库join种类1、内联接(典型的联接运算,使⽤像 = 或 <> 之类的⽐较运算符)。

包括相等联接和⾃然联接。

内联接使⽤⽐较运算符根据每个表共有的列的值匹配两个表中的⾏。

例如,检索 students和courses表中学⽣标识号相同的所有⾏。

2、外联接。

外联接可以是左向外联接、右向外联接或完整外部联接。

在 FROM⼦句中指定外联接时,可以由下列⼏组关键字中的⼀组指定: 1)LEFT JOIN或LEFT OUTER JOIN 左向外联接的结果集包括 LEFT OUTER⼦句中指定的左表的所有⾏,⽽不仅仅是联接列所匹配的⾏。

如果左表的某⾏在右表中没有匹配⾏,则在相关联的结果集⾏中右表的所有选择列表列均为空值。

2)RIGHT JOIN 或 RIGHT OUTER JOIN 右向外联接是左向外联接的反向联接。

将返回右表的所有⾏。

如果右表的某⾏在左表中没有匹配⾏,则将为左表返回空值。

3)FULL JOIN 或FULL OUTER JOIN 完整外部联接返回左表和右表中的所有⾏。

当某⾏在另⼀个表中没有匹配⾏时,则另⼀个表的选择列表列包含空值。

如果表之间有匹配⾏,则整个结果集⾏包含基表的数据值。

3、交叉联接交叉联接返回左表中的所有⾏,左表中的每⼀⾏与右表中的所有⾏组合。

交叉联接也称作笛卡尔积。

FROM ⼦句中的表或视图可通过内联接或完整外部联接按任意顺序指定;但是,⽤左或右向外联接指定表或视图时,表或视图的顺序很重要。

有关使⽤左或右向外联接排列表的更多信息,请参见使⽤外联接。

例⼦: ------------------------------------------------- a表 id name b表 id job parent_id 1 张3 1 23 12 李四 2 34 23 王武 3 34 4 a.id同parent_id 存在关系 -------------------------------------------------- 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id 结果是 1 张3 1 23 1 2 李四 2 34 22)左连接 select a.*,b.* from a left join b on a.id=b.parent_id 结果是 1 张3 1 23 1 2 李四 2 34 2 3 王武 null3)右连接 select a.*,b.* from a right join b on a.id=b.parent_id 结果是 1 张3 1 23 1 2 李四 2 34 2 null 3 34 44)完全连接 select a.*,b.* from a full join b on a.id=b.parent_id 结果是 1 张3 1 23 1 2 李四2 34 2 null3 34 4 3 王武 null --------------------------------------------------------------------------------------------⼀、交叉连接(CROSS JOIN)交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON⼦句,返回的是两表的乘积,也叫笛卡尔积。

第5课-数据库连接(connection类)

第5课-数据库连接(connection类)

第五课:自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK 中面向数据库编程的类库和微软的MDAC(数据访问组件)来实现的。

数据访问技术是任何实际应用程序的核心部分。

是一个功能强大的数据接口程序。

通过所提供的对象,再配合SQL语句就可以访问数据库内的数据,而且凡是ODBC或OLE DB接口访问的数据库(如Dbase、FoxPro、Excel、Access、SQL Server、Oracle等),也可以通过来访问。

第一节:的简介1.1.1、定义:的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft 技术中访问数据。

之所以使用名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。

1.1.2、:在创建数据库后,需要通过将数据库连接到应用程序中。

如图所示为 连接数据库与应用程序的过程模拟图。

模型中包含了能够有效地管理数据的组件类。

的根命名空间是System.Data,的主要组件是数据连接、数据适配器和数据集,它们包含了对数据库进行操作的大部第二节:的构成 3.0 用于访问和操作数据的两个主要组件是.NET Framework 数据提供程序和DataSet。

(1) .NET Framework 数据提供程序是专门为数据操作以及快速、只读访问数据而设计的组件。

Connection对象提供到数据源的连接。

使用Command对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。

DataReader可从数据源提供高性能的数据流。

最后,DataAdapter在DataSet对象和数据源之间起到桥梁作用。

DataAdapter使用Command对象在数据源中执行SQL 命令以向DataSet中加载数据,并将对DataSet中数据的更改协调回数据源。

(2) DataSet: DataSet 的设计已明确指出它可独立于任何资料来源外而存取资料。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#endregion #region 通用存储过程 /// <summary> /// 执行存储过程 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="tableName">DataSet结果中的表名</param> /// <returns>DataSet</returns> public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName) { using (SqlConnection connection = new SqlConnection(M_str_sqlcon)) { DataSet dataSet = new DataSet(); connection.Open(); SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); mandTimeout = 60000; //超时设置 sqlDA.Fill(dataSet, tableName); connection.Close(); return dataSet; } } #endregion #region 存储过程参数转换 /// <summary> /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数 值) /// </summary> /// <param name="connection">数据库连接</param> /// <param name="storedProcName">存储过程名</param>
#region 建立数据库连接 /// <summary> /// 建立数据库连接. /// </summary> /// <returns>返回SqlConnection对象</returns> public static SqlConnection getcon() { try { My_con = new SqlConnection(M_str_sqlcon); //用SqlConnection 对象与指定的数据库相连接 My_con.Open(); //打开数据库连接 } catch (Exception ex) { MessageBox.Show("数据库链接错误!请检查链接或呼叫管理 员!" + ex.ToString()); } return My_con; //返回SqlConnection对象的信息 //Console.WriteLine("数据库正常关闭"); } #endregion #region 打开数据库链接 /// <summary> /// 测试数据库是否赋加 /// </summary> public void con_open() { getcon(); //con_close(); } #endregion
#region 关闭数据库连接 /// <summary> /// 关闭于数据库的连接. /// </summary> public void con_close() { if (My_con.State == ConnectionState.Open) //判断是否打开与数据 库的连接 { My_con.Close(); //关闭数据库的连接 My_con.Dispose(); //释放My_con变量的所有空间 } } #endregion #region 获取DataReader类型数据 /// <summary> /// 获取DataReader类型数据 /// </summary> /// <param name="SQLstr">SQL语句</param> /// <returns>返回DataReader型</returns> public SqlDataReader getDataReader(string SQLstr) { getcon(); //打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); //创建一 个SqlCommand对象,用于执行SQL语句 SqlDataReader My_read = SQLcom.ExecuteReader(); //执行SQL语名 句,生成一个SqlDataReader对象 return My_read; } #endregion #region 执行SqlCommand命令 /// <summary> /// 执行SqlCommand

return command; } #endregion } }
/// </summary> /// <param name="M_str_sqlstr">SQL语句</param> public void getsqlcom(string SQLstr) { getcon(); //打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); //创建一 个SqlCommand对象,用于执行SQL语句 SQLcom.ExecuteNonQuery(); //执行SQL语句 SQLcom.Dispose(); //释放所有空间 con_close(); //调用con_close()方法,关闭与数据库的连接 } #endregion #region 通过DataSet数据集获取数据 /// <summary> /// 创建一个DataSet对象 /// </summary> /// <param name="M_str_sqlstr">SQL语句</param> /// <param name="M_str_table">表名</param> /// <returns>返回DataSet对象</returns> public DataSet getDataSet(string SQLstr, string tableName) { getcon(); //打开与数据库的连接 SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con); //创 建一个SqlDataAdapter对象,并获取指定数据表的信息 mandTimeout = 1800; //设置为半个小 时,超时则报错 DataSet My_DataSet = new DataSet(); //创建DataSet对象 SQLda.Fill(My_DataSet, tableName); //通过SqlDataAdapter对象的 Fill()方法,将数据表信息添加到DataSet对象中 con_close(); //关闭数据库的连接 return My_DataSet; //返回DataSet对象的信息 //WritePrivateProfileString(string section, string key, string val, string filePath); }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Windows.Forms; using System.Data; namespace EquipmentMS.BaseClass { class ConnectionClass { public ConnectionClass() { GetConnectionStr(); } #region 全局变量 public static string Mean_SQL = "", Mean_Table = "", Mean_Field = ""; //定义全局变量,记录“基础信息”各窗体中的表名及SQL语句 public static SqlConnection My_con; //定义一个SqlConnection类型的 公共变量My_con,用于判断数据库是否连接成功 public static string M_str_sqlcon = ""; #endregion #region 读取INI配置文件 public void GetConnectionStr() { BaseClass.GetINIFileClass iniFile = new BaseClass.GetINIFileClass(); string server = iniFile.getINIFileValue("Connect_zb", "Data Source"); string dbname = iniFile.getINIFileValue("Connect_zb", "DataBase"); M_str_sqlcon = "server=" + server + ";database=" + dbname + ";user=;password="; } #endregion
相关文档
最新文档