C#.net操作数据库通用类

C#.net操作数据库通用类
C#.net操作数据库通用类

C#.NET操作数据库通用类(MS SQL Server篇)

下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句、执行存储过程。以下是其详细实现过程,希望大家共同修改优化之。稍后将介绍如何使用它实现N层的程序设计。

配置web.config文件的链接参数

C#代码

using System;

using System.Data;

using System.Data.SqlClient;

namespace Com.LXJ.Database

{

///

/// ConnDB的摘要说明。

///

public class ConnDB

{

protected SqlConnection Connection;

private string connectionString;

///

/// 默认构造函数

///

public ConnDB()

{

string connStr;

connStr = System.Configuration.ConfigurationSettings.AppSettings["connStr"].ToString(); connectionString = connStr;

Connection = new SqlConnection(connectionString);

}

///

/// 带参数的构造函数

///

/// 数据库联接字符串

public ConnDB(string newConnectionString)

connectionString = newConnectionString;

Connection = new SqlConnection(connectionString);

}

///

/// 完成SqlCommand对象的实例化

///

///

///

///

private SqlCommandBuildCommand(string storedProcName,IDataParameter[] parameters) {

SqlCommand command = BuildQueryCommand(storedProcName,parameters);

command.Parameters.Add(new SqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Em pty,DataRowVersion.Default,null));

return command;

}

///

/// 创建新的SQL命令对象(存储过程)

///

///

///

///

private SqlCommandBuildQueryCommand(string storedProcName,IDataParameter[] parameters)

{

SqlCommand command = new SqlCommand(storedProcName,Connection);

https://www.360docs.net/doc/003053365.html,mandType = CommandType.StoredProcedure;

foreach (SqlParameter parameter in parameters)

{

command.Parameters.Add(parameter);

}

return command;

}

///

/// 执行存储过程,无返回值

///

///

///

public void ExecuteProcedure(string storedProcName,IDataParameter[] parameters)

Connection.Open();

SqlCommand command;

command=BuildQueryCommand(storedProcName,parameters);

command.ExecuteNonQuery();

Connection.Close();

}

///

/// 执行存储过程,返回执行操作影响的行数目

///

///

///

///

///

public intRunProcedure(string storedProcName,IDataParameter[] parameters,outintrowsAffected)

{

int result;

Connection.Open();

SqlCommand command = BuildCommand(storedProcName,parameters);

rowsAffected = command.ExecuteNonQuery();

result = (int)command.Parameters["ReturnValue"].Value;

Connection.Close();

return result;

}

///

/// 重载RunProcedure把执行存储过程的结果放在SqlDataReader中

///

///

///

///

public SqlDataReaderRunProcedure(string storedProcName,IDataParameter[] parameters) {

SqlDataReaderreturnReader;

Connection.Open();

SqlCommand command = BuildQueryCommand(storedProcName,parameters); https://www.360docs.net/doc/003053365.html,mandType = CommandType.StoredProcedure;

returnReader = command.ExecuteReader(CommandBehavior.CloseConnection);

return returnReader;

}

///

/// 重载RunProcedure把执行存储过程的结果存储在DataSet中和表tableName为可选参数

///

///

///

///

///

public DataSetRunProcedure(string storedProcName,IDataParameter[] parameters,params string[] tableName)

{

DataSetdataSet = new DataSet();

Connection.Open();

SqlDataAdaptersqlDA = new SqlDataAdapter();

sqlDA.SelectCommand = BuildQueryCommand(storedProcName,parameters);

string flag;

flag = "";

for(int i=0;i

flag = tableName[i];

if (flag!="")

sqlDA.Fill(dataSet,tableName[0]);

else

sqlDA.Fill(dataSet);

Connection.Close();

return dataSet;

}

///

/// 执行SQL语句,返回数据到DataSet中

///

///

///

public DataSetReturnDataSet(string sql)

{

DataSetdataSet=new DataSet();

Connection.Open();

SqlDataAdaptersqlDA=new SqlDataAdapter(sql,Connection);

sqlDA.Fill(dataSet,"objDataSet");

Connection.Close();

return dataSet;

}

///

/// 执行SQL语句,返回DataReader

///

///

///

public SqlDataReaderReturnDataReader(String sql)

{

Connection.Open();

SqlCommand command = new SqlCommand(sql,Connection); SqlDataReaderdataReader = command.ExecuteReader(); returndataReader;

}

///

/// 执行SQL语句,返回记录数

///

///

///

public intReturnRecordCount(string sql)

{

intrecordCount = 0;

Connection.Open();

SqlCommand command = new SqlCommand(sql,Connection); SqlDataReaderdataReader = command.ExecuteReader();

while(dataReader.Read())

{

recordCount++;

}

dataReader.Close();

Connection.Close();

returnrecordCount;

}

///

/// 执行SQL语句

///

///

///

public boolEditDatabase(string sql)

{

boolsuccessState = false;

Connection.Open();

SqlTransactionmyTrans = Connection.BeginTransaction(); SqlCommand command = new SqlCommand(sql,Connection,myTrans); try

{

command.ExecuteNonQuery();

https://www.360docs.net/doc/003053365.html,mit();

successState = true; }

catch

{

myTrans.Rollback(); }

finally

{

Connection.Close(); } returnsuccessState; }

///

/// 关闭数据库联接///

public void Close() {

Connection.Close(); }

}//end class

}//end namespace

数据库操作命令

三、启动\关闭数据库 启动和关闭oracle有很多种方法。 这里只给出3种方法: ●Sql*plus ●OEM控制台 ●Windows 控制台 1.以sql*plus为例: a.准备 首先我们用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA身份连接到oracle b.启动

启动还是比较简单的 Startup就OK了。 不过oracle启动模式有3种: ●Startup nomount (nomount模式)启动实例不加载数据库。 ●Startup mount (mount模式)启动实例加载数据库但不打开数据库 ●Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用 的命令 Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,所以说: 1)创建新数据库 2)重建控制文件 这2种操作都必须在这个模式下进行。 Mount模式中oracle只装载数据库但不打开数据库,所以说: 1)重命名数据文件 2)添加、删除和重命名重做日子文件

3)执行数据库完全恢复操作 4)改变数据库的归档模式 这4种操作都必须在这个模式下进行 Open模式(就是我们上面的startup不带任何参数的)呵呵就不多说了,正常启动。 当然这3种模式之间可以转换: Alter database mount(nomount模式)—〉alter database open(mount 模式)—〉(open模式) 当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态 在受限状态下,只有DBA才能访问数据库,所以说: 1)执行数据导入导出 2)使用sql*loader提取外部数据 3)需要暂时拒绝普通用户访问数据库 4)进行数据库移植或者升级操作 这4种操作都必须在这个状态下进行

C#.net操作数据库通用类

C#.NET操作数据库通用类(MS SQL Server篇) 下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句、执行存储过程。以下是其详细实现过程,希望大家共同修改优化之。稍后将介绍如何使用它实现N层的程序设计。 配置web.config文件的链接参数 C#代码 using System; using System.Data; using System.Data.SqlClient; namespace Com.LXJ.Database { ///

/// ConnDB的摘要说明。 /// public class ConnDB { protected SqlConnection Connection; private string connectionString; /// /// 默认构造函数 /// public ConnDB() { string connStr; connStr = System.Configuration.ConfigurationSettings.AppSettings["connStr"].ToString(); connectionString = connStr; Connection = new SqlConnection(connectionString); } /// /// 带参数的构造函数 /// /// 数据库联接字符串 public ConnDB(string newConnectionString)

数据库基础操作语句

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

数据库原理期末模拟试题大全及部分答案

数据库原理模拟试卷(1) 一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的 字母填在题后的括号内。每小题1分,共15分) 1.数据库系统的体系结构是(C ) A、两级模式结构和一级映象 B、三级模式结构和一级映象 C、三级模式结构和两级映象 D、三级模式结构和三级映象 2.SQL语言称为(C )。 A、结构化定义语言 B、结构化控制语言 C、结构化查询语言 D、结构人操纵语言 3.在视图上不能完成的操作是(D)。 A、在视图上定义新的视图 B、查询操作 C、更新视图 D、在视图上定义新的基本表 4.数据库的并发操作有可能带来的三个问题中包括(D)。 A、数据独立性降低 B、无法读出数据 C、权限控制 D、丢失更新 5.当前应用最广泛的数据模型是(B)。 A、ER模型 B、关系模型 C、网状模型 D、层次模型 6.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的码是(D )。 A、书号 B、读者号 C、书号+读者号 D、书号+读者号+借期 7.要保证数据库物理数据独立性,需要修改的是( B ) A.模式 B.模式与内模式的映射 C.模式与外模式的映射 D.内模式 8.下列四项中,不属于数据库特点的是( D ) A.数据共享 B.数据完整性 C.数据冗余较小 D.数据独立性低 9.数据库中存储的是( D ) A.数据 B.数据模型 C.数据之间的联系 D.数据以及数据之间的联系 10.反映现实世界中实体及实体间联系的信息模型是( D ) A.关系模型 B.层次模型 C.网状模型 D.E—R模型 11. 五种基本关系代数运算是( a) A. ∪,-,×,π和σ B. ∪,-,∞,π和σ C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ

ASP。net下数据库的创建及表的操作

课程实验报告 课程名称:https://www.360docs.net/doc/003053365.html,程序设计基础教程实验题目:数据库的创建及表的操作实践院系:信息技术学院 专业班级:xxxx 姓名:xxxx 学号:xxxx 任课教师:xxxx x x x x

实验一数据库的创建及表的操作实践 (一)实验目的和要求 1.掌握SQL Server 2008数据库管理系统的基本操作; 2.了解数据库框架,尤其是https://www.360docs.net/doc/003053365.html,框架; 3.掌握数据库链接的方法; 4.熟练掌握数据库交互操作技术; 5.了解数据集(表)的原理及运行机理等相关概念; 6.掌握数据集(表)的使用。 创建数据库Train,依次创建三个表,分别是StationInfo(车站信息表)、TrainInfo(列车信息表)、PassStationInfo(途径车站信息表)。对以上三个表完成添加操作,列车信息表使用存储信息表完成更新、删除操作。 表一、StationInfo(车站信息表) 表二、TrainInfo(列车信息表) 表三、PassStationInfo(途径车站信息表)

(二)实验设备 硬件:pc机 软件:visual studio 2010 sql server 2008 (三)实验原理 在web.config中创建连接字符串并连接数据库,使用Command对象操作数据库。通过https://www.360docs.net/doc/003053365.html,操作数据库,https://www.360docs.net/doc/003053365.html,数据提供者提供了用于访问特定数据库、执行SQL语句并且接收数据库数据的命令,数据库提供者在数据库和https://www.360docs.net/doc/003053365.html, 应用之间提供了一座桥梁。在实验中,https://www.360docs.net/doc/003053365.html,中的数据提供者主要由如下的类对象组成:Connection对象:数据库连接对象,建立与物理数据库的链接;Command对象:数据命令对象,https://www.360docs.net/doc/003053365.html,中使用这个对象向数据库发送查询、更新、删除、修改、添加等操作的SQL语句;主要是进行添加、更新、删除等操作;Parameter对象:参数对象,为Command对象中的SQL语句提供参数;https://www.360docs.net/doc/003053365.html, 为不同的数据源提供了不同的数据提供者,每个特定的数据提供者都有特定的Command、DataReader和DataAdapter类,这些特定的类为其相应的数据库进行了优化操作。 (四)实验步骤 1.创建5个页面 (1)AddPassStationInfo

MYSQL数据库基本操作命令

MYSQL数据库基本操作命令 用户名和密码:123456 创建一个名称为mydb1的数据库。 create database mydb1; 查看所有数据库 show databases; 创建一个使用utf-8字符集的mydb2数据库。 create database mydb2 character set utf8; 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_general_ci; 显示库的创建信息 show create database mydb3; 删除前面创建的mydb1数据库 drop database mydb1; 查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312; alter database mydb2 character set gb2312; show create database mydb2; 备份库 1、准备库的数据 create database mydb1; use mydb1; create table test ( id int ); insert into test(id) values(1); select * from test; 2、删除库:drop database mydb1; 3、 4.1 创建库:create database mydb1; 4.2 \. test.sql (通过执行脚本文件实现) 5、

创建一个员工表 use mydb1; 进入库 create table employee ( id int, name varchar(20), gender varchar(4), birthday date, entry_date date, job varchar(40), salary double, resume text )character set utf8 collate utf8_general_ci; 查看库中所有表 show tables; 查看表的创建细节 show create table employee; 查看表的结构 desc employee; 在上面员工表的基本上增加一个image列。 alter table employee add image blob; 修改job列,使其长度为60。 alter table employee modify job varchar(60); 删除sex列。 alter table employee drop gender; 表名改为user。 rename table employee to user; 修改表的字符集 alter table user character set gb2312; show create table user; 列名name修改为username alter table user change column name username varchar(20); 使用insert语句向表中插入一个员工的信息。 insert into employee(id,username,birthday,entry_date,job,salary,resume)

数据库(SQL)操作命令大全

下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ?%value1%? ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count * as totalcount from table1 求和:select sum(field1) as sumvalue from table1

ASP NET 6种常用数据库的连接方法

1.C#连接连接Access 程序代码: using System.Data; using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb"; OleDbConnection objConnection=new OleDbConnection(strConnection); .. objConnection.Open(); objConnection.Close(); 解释: 连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,https://www.360docs.net/doc/003053365.html,就是靠这个和Access的数据库连接的. "Data Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data

Source=MyDrive:MyPath\MyFile.MDB". PS: 1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符. 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strConnection+="Data Source="; strConnection+=MapPath("Northwind.mdb"); 这样就可以省得你写一大堆东西了! 3.要注意连接字符串中的参数之间要用分号来分隔. "OleDbConnection objConnection=new OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. "objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成. 2.C#连接SQL Server 程序代码: using System.Data; using System.Data.SqlClient; .. string strConnection="user id=sa;password=;"; strConnection+="initial catalog=Northwind;Server=YourSQLServer;";

数据库基本操作习题与答案

第三章数据库基本操作 一、选择题 1. 如果需要给当前表增加一个字段,应使用的命令是________。 A) APPEND B) INSERT C) EDIT D) MODIFY STRU 2. 设表文件及其索引已打开,为了确保指针定位在物理记录号为1的记录上,应该使用命令________。 A) SKIP 1 B) SKIP -1 C) GO 1 D) GO TOP 3. 要显示数据库中当前一条记录的内容,可使用命令________。 A) LIST B) BROWSE C) TYPE D) DISPLAY 4. 在当前表中,查找第2个女同学的记录,应使用命令________。 A) LOCATE FOR 性别="女" B) LOCATE FOR 性别="女" NEXT 2 C) LIST FOR 性别="女" CONTINUE D) LOCATE FOR 性别="女" CONTINUE 5. Visual FoxPro的数据库表之间可建立两种联系,它们是________。 A) 永久联系和临时联系B) 长期联系和短期联系 C) 永久联系和短期联系D) 长期联系和临时联系 6. 数据库表的索引中,字段值不能有重复的索引有________种。 A) 1 B) 2 C) 3 D) 4 7. 建立表间临时关联的命令是________。 A) LET RELATION TO命令 B) JOIN命令 C) SET RELATION TO命令 D) 以上都不是 8. 通过关键字建立表间的临时关联的前提是________。 A) 父表必须索引并打开B) 子表必须索引并打开 C) 两表必须索引并打开D) 两表都不必索引 9. 查询设计器的“筛选”选项卡上,“插入”按钮的作用是________。 A) 用于增加查询输出字段B) 用于增加查询的表 C) 用于增加查询去向D) 用于插入查询输出条件 10. 在多工作区的操作中,如果选择了4,7,8号工作区并打开了相应的数据库,在命令窗口执行命令SELECT 0,其功能是________。 A) 选择4号工作区为当前工作区B) 选择0号工作区为当前工作区 C) 选择7号工作区为当前工作区D) 选择8号工作区为当前工作区 11. 表结构中空值(NULL)的含义是________。 A) 空格B) 尚未确定

数据库操作及查询

第三章数据库操作及查询§1刨建数据库表 一、表的分类:库表、自由表。 二、数据库表与自由表的区别 库表:各个表之间有关联 特点:A:长表名和长字段名。 B:每个字可以有提示和注释。 C:可以定义缺省值。 D:字段级的规则和记录级的规则。 自由表: foxbase 表,独立 三、表结构的定义 操作方法:A:表设计器 B:命令create < 表名> 四、表记录的输入 1、追加方式 2、定义结构时同时输入

五、表记录添加 1)、键盘输入 2)、从已有文件中追加 A、INSERT –SQL 命令 命令格式: INSERT INTO 表名[(字段名1[,字段名2,…])] V ALUES(表达式1[,表达式2,…]) 功能:在表尾追加一个新记录,并直接输入记录数据。 说明:表不必事先打开,字段与表达式的类型必须相同。 例如:INSERT INTO TEACHER(BH,XM,XB,JBGZ)V ALUES (“02005”,“张华”,“女”,2021) B、APPEND 命令 格式:APPEND [BLANK] 功能:向表中追加记录 说明:使用BLANK子句能在表尾追加一条空记录。若不选取则进入全屏幕编缉方式。 C、APEND FROM 命令

格式:APPEND FROM <文件名> FIELDS <字段名表> [FOR< 条件>][[TYPE ] DELIMITED[WITH <定界符>/WITH BLANK/WITH TAB]/SDF/XLS]] 功能:在当前的表尾部追加一批记录,这些记录来自于指定的文件。 说明:1、源文件的类型可以为表、系统数据格式文件、定界格文本文件、Excel文件。 2、执行该文件时源表不用打开。 例如:先将表数据导入到EXCEL表中,然后再追加到空表中。 appe from tyty type xls 六、表的打开和关闭 1、表的打开 A: 命令 use B: “文件”——“打开” C:在窗口菜单的“数据工作”期命令来打开 2)、表的关闭 A、命令:

net数据库

.net数据库 Connection 对象提供与数据源的连接。Command 对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader 从数据源中提供高性能的数据流。最后,DataAdapter 提供连接 DataSet 对象和数据源的桥梁。DataAdapter 使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对DataSet 中数据的更改与数据源保持一致。 DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及有关DataTable 对象中数据的主键、外键、约束和关系信息组成。 选择 DataReader 或 DataSet 在决定应用程序应使用 DataReader(请参见使用 DataReader 检索数据)还是应使用DataSet(请参见在 https://www.360docs.net/doc/003053365.html, 中使用 DataSet)时,应考虑应用程序所需的功能类型。DataSet 用于执行以下功能: ?在应用程序中将数据缓存在本地,以便可以对数据进行处理。如果只需要读取查询结果,DataReader 是更好的选择。 ?在层间或从 XML Web 服务对数据进行远程处理。 ?与数据进行动态交互,例如绑定到 Windows 窗体控件或组合并关联来自多个源的数据。 ?对数据执行大量的处理,而不需要与数据源保持打开的连接,从而将该连接释放给其他客户端使用。 如果不需要 DataSet 所提供的功能,则可以使用 DataReader 以只进、只读方式返回数据,从而提高应用程序的性能。虽然 DataAdapter 使用 DataReader 来填充 DataSet 的内容(请参见从 DataAdapter 填充 DataSet),但可以使用 DataReader 来提高性能,因为这样可以节省 DataSet 所使用的内存,并将省去创建 DataSet 并填充其内容所需的处理。

JAVA数据库基本操作增删改查(精)

JAVA 数据库基本操作, 增删改查 package mypack; JAVA 数据库基本操作, 增删改查 import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; public class DbOper {//查询多行记录public ArrayList select({Connection conn =null; ResultSet rs =null; try {import java.sql.PreparedStatement; import java.sql.SQLException; PreparedStatement pstmt =null; ArrayList al =new ArrayList(; conn =DbConn.getConn(;pstmt =conn.prepareStatement(“select *from titles ”; rs =pstmt.executeQuery(;while (rs.next({Titles t =new Titles(;t.setTitleid(rs.getString(1;t.setTitle(rs.getString(2;al.add(t;}}catch (SQLExceptione { e.printStackTrace(;}finally {try {//TODO 自动生成catch 块if (rs!=null rs.close(;if (pstmt!=nullpstmt.close(;if (conn!=nullconn.close(;}catch (SQLExceptione { e.printStackTrace(;}}//TODO 自动生成catch 块 return al; }//查询单个对象public Titles selectOne(Stringtitleid{Connection conn =null; ResultSet rs =null; try {PreparedStatement pstmt =null; Titles t =new Titles(;

https://www.360docs.net/doc/003053365.html,数据库编程

https://www.360docs.net/doc/003053365.html,数据库编程 1、https://www.360docs.net/doc/003053365.html,的相关概念。 Microsoft的新一代技术,是ADO组件的后继者。 主要目的是在.NET Framework平台存取数据。 提供一致的对象模型,可以存取和编辑各种数据源的数据,即对这些数据源,提供了一致的数据处理方式。 https://www.360docs.net/doc/003053365.html,保存和传递数据是使用XML格式。可实现与其他平台应用程序以XML文件进行数据交换。 2、数据访问类库的名称空间 针对不同的数据源,使用不同名称空间的数据访问类库,即数据提供程序。常用的数据源包括四种: Microsoft SQL Server数据源:使用System.Data.SqlClient名称空间。 OLEDB数据源:使用System.Data.OleDb名称空间。 ODBC数据源:使用System.Data.Odbc名称空间。 Oracle数据源:使用System.Data.OracleClient名称空间 要使用https://www.360docs.net/doc/003053365.html, 来访问数据库,需要将相应的名称空间导入到应用程序中,如下:System.Data是通用的名称空间,其中包含组成ADO.NET核心体系结构的所有类。 System.Data.Oledb 名称空间供https://www.360docs.net/doc/003053365.html, 管理提供程序访问支持OleDb的数据源时使用。 System.Data.SQLClient 名称空间供 SQL Server管理提供程序使用。该名称空间是专为 Microsoft SQL Server 而设计的,对于以前版本的 SQL Server,可以提高其性能。 如:using System.Data; using System.Data. SqlClient; System.Data.OleDb和System.Data.SqlClient名称空间的类名称相同,只是字头不同。 之所以分成两组类,主要目的是提供一组最佳化SQL Server数据库存取的类。 OleDb字头的类是使用OLEDB提供者数据源的数据库。例如Access和Oracle等数据库。 Sql字头的类只能使用在SQL Server7.0以上版本,直接和服务器端的SQL Server通信,因为不通过OLE DB和ODBC,所以可以明显提升整体的执行效率。 3、https://www.360docs.net/doc/003053365.html,的组成 https://www.360docs.net/doc/003053365.html,用于访问和处理数据的类库包含以下两个组件: .NET Framework 数据提供程序

Java连接MySql数据库入门操作

这是连接后进行一些简单操作后的结果: Succeeded connecting to the Database! 学号姓名 2011001 张三 2011002 李四 2011003 王五 先去下载MySql并安装好。安装MySql的方法在 https://www.360docs.net/doc/003053365.html,/view/9cc0fcc76137ee06eff918d5.html 然后下载jdbc驱动。 https://www.360docs.net/doc/003053365.html,/downloads/connector/j/ 下载好了解压即可。把那个zip文件也放到解压后的目录中,方便管理使用。 我使用的是eclipse,我要导入包,先进行一些设置。

安装jre。 添加外部jar文件 打开刚才解压得到的jar文件。

打开的效果。 使用mysql创建数据库,进行测试。 mysql> use test; Database changed mysql> create table student ( -> sno char(7) not null, -> sname varchar(8) not null, -> sex char(2) not null -> ); Query OK, 0 rows affected

mysql> insert into student values -> (2011001, '张三', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011002, '李四', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011003 , '王五', '男'); Query OK, 1 row affected mysql> select * from student; +---------+-------+-----+ | sno | sname | sex | +---------+-------+-----+ | 2011001 | 张三| 男| | 2011002 | 李四| 男| | 2011003 | 王五| 男| +---------+-------+-----+ 3 rows in set mysql> 编码测试。 输入下面源代码: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCTest { public static void main(String[] args){ try { // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // URL指向要访问的数据库名test String url = "jdbc:mysql://127.0.0.1:3306/test"; // MySQL配置时的用户名 String user = "root";

Netbeans操作数据库

Netbeans集成开发环境支持各种主流数据库,在开发中带来很多便利,节省时间。本文介绍了如何使用Netbeans操作MySQL数据库。 由于在开发中,我们经常要使用数据库,对数据库进行各种操作,由于Netbeans集成开发环境对各种主流数据库的支持,我们开发人员可以很方便的利用Netbeans进行项目开发,节约很多时间,带来方便。 首先确保电脑上安装好netbeans和mysql,本人使用的是netbeans6.5 和mysql5.1版本,大家可以从sun的官方网站上下载最新的版本。(netbeans: https://www.360docs.net/doc/003053365.html,/mysql:https://www.360docs.net/doc/003053365.html,/) 1.添加mysql数据库驱动 启动netbeans开发工具,在services(服务)窗口中展开databases(数据库)节点,大家就可以看到一个数据库的资源管理器,如下图: 其中在Drivers包中包含了所有数据库的驱动程序,如果要使用netbeans 来操作mysql,必需在这里添加mysql的驱动程序,右键单击 Drivers(驱动程序)节点,然后选中“New Dirver...”命令,打开一个新建JDBC 驱动程序的窗体,如下图:

在这个新建对话框中选择add(添加)按钮,选择你要添加的驱动(mysql 数据库驱动mysql-connector-java-3.1.3-beta-bin.jar),添加确定后netbeans会自动填写Drivers Class:(com.mysql.jdbc.Driver)及Name 文本输入框,然后打击Ok,完成数据库驱动程序在netbeans上的配置。 2.通过netbeans连接mysql数据库 前面工作都做好后,我们可以用netbeans当mysql的客户端来操作mysql 数据库。右击databases(数据库)节点,选择”new connection ...“(新建一个连接)选项,弹出如下界面,其中name(名称)为上面配好的数据库驱动的名称,host(主机)为mysql数据库的计算机名或者 ip地址,port为mysql的端口号,默认为3306;database为要连接的数据库的名字(如yang为本人建立的数据库),然后输入数据库的用户名和密码,单击OK(确定)按钮,具体参照下图:

VB[1].NET连接数据库的几种方法

Microsoft Visual https://www.360docs.net/doc/003053365.html,是Microsoft Visual Basic的更新版本,它基于.NET的框架结构,能使用户非常容易地创建Microsoft Windows操作系统和网络的应用程序。使用Visual https://www.360docs.net/doc/003053365.html,,可以快速地实现可视化开发网络应用程序、网络服务、Windows 应用程序和服务器端组件。另外,Visual https://www.360docs.net/doc/003053365.html,为Windows应用程序提供了XCOPY部署,开发人员不再需要为DLL的版本问题担忧。Visual Basic现在已经真正成为面向对象以及支持继承性的语言。窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化以及可达性支持。数据类工具内在支持XML数据,在设计时数据绑定使用断开的数据。另外,Visual https://www.360docs.net/doc/003053365.html,直接建立在.NET的框架结构上,因此开发人员可以充分利用所有平台特性,也可以与其他的.NET语言交互。 在这篇文章中我要跟大家讲的,是介绍Visual https://www.360docs.net/doc/003053365.html,的数据库编程及其相关知识。 一、先介绍https://www.360docs.net/doc/003053365.html,和https://www.360docs.net/doc/003053365.html, ADO .NET由Microsoft ActiveX Data Objects (ADO)改进而来,它提供平台互用和可收缩的数据访问功能,是Visual https://www.360docs.net/doc/003053365.html,进行数据库编程所使用的重要工具。https://www.360docs.net/doc/003053365.html, 使用了某些ADO 的对象,如Connection 和Command 对象,并且还引入了新的对象。主要的新https://www.360docs.net/doc/003053365.html, 对象包括DataSet、DataReader 和DataAdapter。 https://www.360docs.net/doc/003053365.html,是.NET框架中另外一个很有用的用于数据库开发的类库。但是,在.NET FrameWork SDK1.0版中不包含https://www.360docs.net/doc/003053365.html,,要使用https://www.360docs.net/doc/003053365.html,请到微软网站下载,具体下载地址: https://www.360docs.net/doc/003053365.html,/library/default.asp?url=/downloads/list /netdevframework.asp(文件名是odbc_net.msi)在默认情况下,安装路径是 “C:\Program File\https://www.360docs.net/doc/003053365.html,\https://www.360docs.net/doc/003053365.html,”。安装后的组件名为 Microsoft.Data.Odbc.dll文件。 添加ODBC .NET Data Provider的步骤: 启动Visual https://www.360docs.net/doc/003053365.html,开发环境,选中菜单栏的[工具]—>[数据]—>[自定义工具箱],在弹出的[自定义工具箱]对话框中选[.Net 框架组件]单击[浏览]按钮,在“C:\Program File\https://www.360docs.net/doc/003053365.html,\https://www.360docs.net/doc/003053365.html,”目录下选择Microsoft.Data.Odbc.dll文件。接下来就在[自定义工具箱] 中选择“OdbcCommand”、“OdbcCommandBuilder”、“OdbcConnection”、“OdbcDataApdater” 后,单击[确定]。至此,完成了在Visual https://www.360docs.net/doc/003053365.html,中加入ODBC .NET。 二、接下来介绍数据提供者(Data Provider) https://www.360docs.net/doc/003053365.html,和https://www.360docs.net/doc/003053365.html,两者共提供了三种数据提供者,其中https://www.360docs.net/doc/003053365.html,提供两种(The SQL Server .NET Data Provider和The OLE DB .NET Data Provider )

数据库语法大全

一、简单的增删改查: 表名为room 查:select *from 表 where 字段=要查询的值 增:insert into room values(…要增加的值?,…..) 改:udate 表 set roomjc=?DDD? where id=1;(改变room表中字段id为1的roomjc的数据) 删: delete from room where id=?1?(删除表中字段ID为1的那一行数据) 二、建表 Create table 表名( 主键ID自增 字段字段类型 identity(1,1) not null 主键(primary key) 字段字段类型 null 外键(foreign key) (还有一个唯一约束unique(col_name)) … ………. ) 向表中插入数据: Insert into 表名 values(?1?,?aa?) …………….. ……. 删除数据表: Drop table 表名;

三、数据的查询 1.查询多少到多少之间的数据(用”between”关键字) Select *from room where id between 1 and 5 (查询id为1到5之间的数据) 2.改变字段名 Select 名称=foodname 类型=foodbjf from room (把表中room中的字段名为foodname改成”名称”,foodbjf改为”类型”) 3.查询重复的数据(关键字”group by” (分组)) g roup by 列名 having 条件表达式 Select *from room where roombjf in(select roombjf from room group by roombjf having count (roombjf)>1) order by id(“查询表中room 字段为roombjf的重复数据”按id进行排序) 升序:order by 字段 asc 降序:order by 字段 desc 4.删除重复的数据(所有重复的都将删除): 将select改为delete还可以用distinct关键字:select distinct 字段名 from 表名5.限制返回行数(top n)则查询结果值显示表中前n条记录: Select top 5 from 表名; 6.逻辑运算符: And:用来链接两个必须同时成立的条件 Or:任意一个成立即可 Not:用来给定的结果取反

相关文档
最新文档