dao连接数据库
㈠ DAO 连接数据库 local function definitions are illegal
上面少了一个“}”
㈡ 如何用Dao方式连接 sql Server数据库
你用的什么语言啊?
这个是VC++的
*****你说的是MFC的数据库访问类——class CDaoDatabase,这个类确实有Create()和Open()两个成员函数,不过前者的功能是新建一个数据库文件,而且只能是ACCESS文件(*.mdb),只有Open()能够连接一个现有的SQL数据库文件。
*****
*****连接代码样例:
CDaoDatabase dbSQL(); //括号必须有绝仔,因为它有一个引用参数,引用目标是class CDaoWorkspace的一个对象,这个参数默认是NULL
CString strDBPath("");//连接SQL时为空,连接ACCESS时为文件路径
CString strDBConn("driver={SQL Server};server=MySqlServer; uid=MyUserName;pwd=MyPassword;database=你的SQL数据库文件" );
//连接SQL时这样设置,连接ACCESS时此参数为空
dbSQL.Open( strDBPath,
FALSE, FALSE,
strDBConn
);
*****
*****另外,如楼上所言,DAO最初就是为ACCESS设计的。数据源只是一个适配器,让DAO能够扩展其功能连接其它数据库。建议改用ADO,ADO功能非常完善,而且简单易用。ADO采用COM组件技术,它提供了一套完全与开发平台无关的类库。也就并闹汪是说可以不弯蚂用MFC,可以在不同开发环境,多做开发语言中使用。
㈢ 怎样用操作数据库
设置激春数连接森大池,明首然后new一个,$sql = "*****";
$result = $->fetchOne($sql);
㈣ 如何将数据库中的一张表与结合在一起
关于将数据库中的一张表与结合在以前思路大体有两种:
第一种:不使用框架,使用JDBC(java DataBase Connectivity)java连接数据库。
加载驱动:class.forNname(" ");
得到连接:Connection connection = DriverManager.getConnection(" ");
声明sql:String sql = " ";
执行sql语句:connection.createStatement().executeUpdate(sql);
第二种:使用框架。
创建实体类:实体的属性与数据竖启库升纤坦字段对应
创建映射文件:将吵桐数据库字段与实体属性关联
在spring框架中管引入映射文件,并配置事物
在Dao层直接用
㈤ java中Dao如何访问数据库
用java访问返磨数据库需要4步骤,只要按这个做就可以轻松访问数据库。
1、加载数据库驱动
2、获得数据库连接
3、执行sql语句
4、(处理结果集)
5、关闭资源
第4歩看你的sql语句了,如果有返回结果则有第4歩,否则不用。
具唯圆体的:用一个类做例子
public class UserDaoImpl{
public void insertUserMessage(String name,String pwd){
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//上面是加载数据库驱动
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";//这个是数据库的登录用户名
String password="test"; //登录密码
Connection conn =DriverManager.getConnection (url,user,password);
//获得数据库连接
PreparedStatement pst = conn.prepareStatement("Sql语句");
pst.setString(1,name);
pst.setString(2,pwd);
pst.excute();
pst.close();//关闭资源
conn.close();
}
}
以上就是连接数据库的伪码,不知道对你有没有帮指世塌助
㈥ 在Visual Basic中用DAO实现数据库编程
DAO(DataAccessObject)全称为数据访问对象 它是数据库编程的重要方法之一 DAO的一种面向对象的界面接口 特色为它不是可视化的对象 使用它全部都要靠编码来完成 DAO是设计关系型数据库系悔磨槐统结构的对象类的集合 它提供了完成管理这样一个系统所需游举的全部操作的属性和方法 包括创建数据库 定义表 字段和碧友索引 建立表间的关系 定位和查询数据库等工具 由于ADO(ActiveXDataObjectActiveX数据对象)的出现 DAO的使用已大大减少 但它无须使用ODBC(开放数据库连接)便可连接各个数据源 因而我们仍经常用经典的DAO 下面我向大家详细介绍如何使用DAO编程
DAO使用之前必须先引用 方法为打开VB 从VB的 工程 菜单中 选择 引用 项 当 引用 对话框出现后 从库的列表中 选择 MicrosoftDAO ObjectLibrary 单击 确定 现在便可以使用DAO对象库提供的所有对象进行编程了
一 创建数据库
在DAO中用CreatDataBase方法可以根据用户需求动态的创建数据库 这一点在程序中是非常有用的 用户可以根据要求实时建立数据库 建立过程如下
PrivateSubCom_creat_Click()
OnErrorGoToErr
CreatDataBase 数据库名称 mdb dbLangGeneral
Msgbox 数据库建立完毕
ExitSub
Err :
MsgBox 不能建立数据库! &vbCrLf&vbCrLf&Err Description vbInformation
EndSub
这样 数据库便在当前默认的路径下建立了
二 创建表与字段
建立数据库后 则需要在该数据库中建立表 这要用到TableDef对象 先定义一个TableDef类型的对象 然后用TableDef集合中Append方法将之追加到数据库当中去 并且同时定义一个Field对象 用CreatFiele的方法创建一个Field对象 向表中添加字段 例如:
PrivateSubCom_table_Click()
OnErrorGoToErr
DimDefdbAsDataBase
DimNewTableAsTableDef
DimNewFieldAsField
SetDefdb=Workspaces( ) OpenDatabase(App path& 数据库名称 mdb False)
SetNewTable=DefDataBase CreateTableDef( 表名 )
SetNewField=DefTable CreateField( 字段名 dBText )′创建一个字符型的字段 长度为 个字符
DefTableFields AppendNewField′字段追加
DefDatabase TableDefs AppendNewTable′表追加
Msgbox 表建立完毕
ExitSub
Err :
MsgBox 对不起 不能建立表 请先再建表前建立数据库? vbCritical
EndSub
一个数据库可能有十几个甚至几十个字段 一个表中有多少个字段 则要创建多少次并要追加到表中 每建立一个字段后都要用到字段追加命令 但是表追加只需在所有字段建立完成后用一条命令即可完成
三 打开数据库
在VB中 对一个对象变量引用之前必须加以说明 DAO也是如此 必须先声明数据库变量 例如 DimdbaseAsDatabase 建立了数据库对象变量后 我们便可打开数据库了 在一般情况下都只是访问一个数据库 当打开数据库后再对数据库中的各个记录进行操作 这就要用到Recordset对象建立记录集 例如
PrivateSubCommand_OpenDatabase_Click()
DimdbaseasDatabase
DimrsAsRecordset
Setdbase=OpenDatabase(App path& 数据库名称 mdb )
Setrs=dbase OpenRecordset( select*from表名 )
EndSub
这样 数据库中的记录便放到Recordset中 可以进行后续操作了
四 使用数据库
当打开数据库 建立Recordset记录集后 便可浏览 删除 添加 查找数据库中的内容
)向前浏览
PrivateSubcmd_previous_Click()
rs MovePrevious
ifrs BOF=Truethen
rs Movelast
Endif
fori= to
label(i) caption=rs F
)向后浏览
PrivateSubcmd_next_Click()
rs MoveNext
Ifrs EOF=Truethen
rs MoveFirst
Endif
fori= to
label(i) caption=rs Fields(i)&
next
EndSub
)删除记录
PrivateSubcmd_del_Click()
OnErrorGoTohandle
Dimmsgasstring
msg= 是否要删除记录 &Chr$( )
msg=msg&label( )′把删除记录的代号加入msg中
IfMsgbox(msg 删除记录 )<> ThenExitsub
rs delete
rs Movenext
Ifrs EOF=TrueThen
rs MovePrevious
Endif
fori= to
label(i) caption=rs Fields(i)&
next
handle:
MsgBox 该记录无法删除!!!
ExitSub
EndSub
)添加记录
向数据库中添加记录比较麻烦一点 大致分为三步 首先 用AddNew方法向数据库添加一个新的空白记录 其次 将要输入的数据分别赋到数据库的各个字段中 最后 用Updata的方法 把记录写到数据库中去 例如
PrivateSubcmd_new_Click()
rs AddNew
Fori= to
rs Fields(i)=TextBox(i) Text
Next
rs Updata
EndSub
)查找记录
查找记录可以用Find方法 例如
PrivateSubCmd_search_Click()
Setrs=dbase openRecordset( 表名 dbopenDynaset)
rs findfirst 字段名= &Text Text& ′Text Text是输入的关键字
ifrs Nomatch=Truethen
Msgbox 对不起 没有该记录
else
Fori= to
label(i) caption=rs Fields(i)&
Next
Endif
rs close
EndSub
以上只是大致介绍了DAO的一些最常用 最典型的用法 真正要熟练掌握它需要不懈的努力 当你很好的理解了DAO后 对学习新的RDO和ADO也有很大的帮助 并且DAO和ADO可以同时使用 DAO的缺陷在于查找功能不强 没有ADO方便 但动态创建数据库却远超ADO 因此有时二者结合更强大 我们相信DAO一定会帮你节约宝贵时间 为工作提供方便
lishixin/Article/program/c/201404/30446
㈦ java中,用DAO查询一个数据库步骤,分哪几个步骤,原理解析
创建一个以JDBC连接数据库的程序,包含7个步骤:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到橡粗驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动皮昌程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
该对象就代表一个数梁握镇据库的连接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
语句。
具体实现的代码:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、处理结果
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比较高效
}
(列是从左到右编号的,并且从列1开始)
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 关闭连接对象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
㈧ java连接数据库DAO
再写一个类,声明一个List类的方法,先调用DAO方法,然后用迭代器(Iterator)迭代结果
㈨ DAO连接数据库,总是报空指针异常,是为什么
说明getConnection()执行未成功。。。。。告谨。。。getConnection()中不要写try{}catch(){},而是在使用的地方再try{}catch(){} ,,,,这样氏滚容易调试袜核基