先引用 "Microsoft ActiveX Data Objects 20 Library"
Public conn As ADODBConnection
Public rst As ADODBRecordset
Set conn = New ADODBConnection
Set rst = New ADODBRecordset
connConnectionString = "Provider=SQLOLEDB1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=数据库名;Data Source=数据库名"
connCursorLocation = adUseClient
connOpen
rstOpen "select from 数据库名dbo表名", cnn, adOpenStatic, adLockPessimistic
----------------------------------
VB60远程连接SQL SERVER2000
Public conn As ADODBConnection '数据连接
Set conn = New ADODBConnection
connOpen "{SQL SERVER};SERVER=192168111;DATABASE=数据库名;USER ID=打开数据库用户名;PASSWORD=打开数据库密码"
//连接数据库
<%
dim conn,Connstr
Set Conn=ServerCreateObject("ADODBConnection")
Connstr="Provider=MicrosoftJetOLEDB40;Data Source=" & ServerMapPath("表的路径/表名")
ConnOpen connstr
%>
//表查询
<%
set rs=servercreateobject("adodbrecordset")
rsopen "select from aaa where id=5",conn,1,1
%>
//结束
<%
rsclose
set rs=nothing
%>
1
"Provider=MicrosoftJetOLEDB40;Data Source=" & ServerMapPath("数据库")
2
"DRIVER={Microsoft Access Driver (mdb)};DBQ=绝对路径"
以上两种在dw中足够了
连接数据库
import javasqlConnection;
import javasqlDriverManager;
import javasqlSQLException;
import javasqlStatement;
public class TestDB {
public static void main(String[] args) {
try {
// 1注册驱动
ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");
Systemoutprintln("注册驱动成功");
String url = ""jdbc:microsoftsqlserver://127001:1433;DatabaseName="; //数据库IP,端口,数据库名
String username = "";
String password = "";
// 加载驱动并获取数据库连接对象
Connection connection = DriverManagergetConnection(url, username,
password);
Systemoutprintln("连接数据库成功!");
// 创建Statement对象
Statement stmt = connectioncreateStatement();
// SQL语句
String sql = "insert into student(id,name,age,email,address) values(1,'tom',23,'dfg@163com','England') ";
int rows = stmtexecuteUpdate(sql);
if (rows > 0) {
Systemoutprintln("插入成功!");
}
// 释放资源
stmtclose();
connectionclose();
} catch (SQLException e) {
eprintStackTrace();
}
catch (ClassNotFoundException e) {
eprintStackTrace();
}
}
}
预编译的数据库处理
public class ConnectionManager{
public static final String DRIVER_CLASS ="";
public static final String URL = "";
public static final String USERNAME = "";
public static final String PASSWORD = "";
//获取连接对象
public static Connection getConnection(){
Connection conn = null;
ClassforName(DRIVER_CLASS);
conn = DriverManagergetConnection(URL,USERNAME,PASSWORD);
return conn;
}
public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
try{
if(rs!=null){
rsclose();
rs = null;
}
if(stmt!=null){
stmtclose();
stmt = null;
}
if(conn!=null){
connclose();
conn=null;
}
}
}
}
public class DBOperator{
public int executeUpdate(String sql,Object[] params){
int rows = 0;
Connection connn = ConnectionManagergetConnection();
PreparedStatement pstmt = connprepareStatement(sql);
if(params!=null){
for(int i=0;i<paramslength;i++){
pstmtsetObject(i+1,params[i]);//下标从1开始
}
}
rows = pstmtexecuteUpdate();
ConnectionManagercloseAll(null,pstmt,conn);
return rows;
}
public ResultSet executeQuery(String sql,Object[] params){
Connetion conn = ConnectionManagergetConnection();
if(params!=null){
for(int i= 0;i<paramslength;i++){
pstmtsetObject(i+1,params(i));
}
}
rs=pstmtexecuteQuery();
ConnectionManagercloseAll(rs,pstmt,conn);
return rs;
}
}
/
statement连接数据库
/
public class TestOperatorGrade{
private static void updateGrade(int id,String name,String description){
ClassforName();//注册驱动
Connection conn = DirverManagergetConnection("","","");
Statement stmt = conncreateStament();
String sql = "UPDATE grades set name = '"+name+"',description='"+description+"'WHere id="+id;
int rows = stmtexecuteUpdate(sql);
}
}
这是java 程序的代码
public class JDBConnect {
//private static final String DRIVER="commysqljdbcDriver";
private static final String DRIVER="commicrosoftsqlserverjdbcSQLServerDriver";
//private static final String URI="jdbc:mysql://localhost:3306/数据库名称";
private static final String URI="jdbc:sqlserver://127001:1433; DatabaseName=数据库名称";
private static final String USER="sa";
private static final String pwd="sasa";
public static Connection getConnection(){
Connection con=null;
try{
ClassforName(DRIVER);
}catch(ClassNotFoundException e){
Systemoutprintln("加载驱动错误信息:" + egetMessage());
}
try{
con=DriverManagergetConnection(URI,USER,pwd);
}catch(SQLException e){
Systemoutprintln("数据库连接错误信息:" + egetMessage());
eprintStackTrace();
}
return con;
}
}
php链接mysql必备条件:
已安装mysql数据库;
检查php环境是否已开启mysql扩展(一般情况下是开启的);
检查方法:a使用phpinfo();函数,看有没有mysql项;b打开phpini文件,检查php_mysqldll前分号是否已取掉。
php链接代码如下:
前期准备工作,安好JDK,MyEclipse。
下载JDBC驱动mysql-connector-java-505-binjar导入到工程中去
1、工程(右键)--buildpath--configure build path--add external jars。
2、 也可以加到classpath中去,具体如下:“我的电脑”-> “属性” ->“高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-505\mysql- connector-java-505-binjar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开,然后确定。
测试代码:所用驱动 mysql-connector-java-50-nightly-20071116-binjar
程序中引用必要的包:import javasql; //它包含有 *** 作数据库的各个类与接口
1、加载合适的JDBC驱动程序
ClassforName(Driver);
MySQL驱动程序:commysqljdbcDriver
Oracle驱动程序:oraclejdbcdriverOracleDriver
SQLServer驱动程序:
comMicrosoftjdbcsqlserverSQLServerDriver
2、建立数据库连接
与MySQL数据库连接的方法:
Connection con=DriverManagergetConnection(“jdbc:mysql://主机IP或主机名:3306/数据库名”,用户名,密码);
javasqlDriveManager 用来处理装载驱动程序并且为创建新的数据库连接提供支持;
–javasqlConnection 用于完成对特定定数据库的连接;
–javasqlStatement 用于对特定的数据库执行SQL语句;javasqlStatement又包含了以下两个重要的子类型:
javasqlPreparedStatement 用于执行预编译的SQL语句;
javasqlCallableStatement 用于执行数据库中存储的过程的调用;
--javasqlResultSet 用于保存查询所得的结果集
3、创建Statement对象
Statement st=concreateStatement(); //最后可以不关闭,但推荐关闭
利用Statement对象可以执行静态SQL语句,静态SQL语句可以是Select语句、Delete语句、Update语句和Insert语句。
执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery()、executeUpdate() 和execute()。具体使用哪一个方法由SQL语句本身来决定。
方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句等。
方法 executeUpdate 用于执行INSERT、UPDATE或DELETE 语句以及SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个 整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或DROP TABLE 等不 *** 作行的语句,executeUpdate 的返回值总为零。
方法 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。一般不会需要该高级功能。
①JDBC在编译时并不对将要执行的SQL查询语句作任何检查,只是将其作为一个String类对象,直到驱动程序执行SQL查询语句时才知道其是否正确。对于错误的SQL查询语句,在执行时将会产生 SQLException。
②一个Statement对象在同一时间只能打开一个结果集,对第二个结果集的打开隐含着对第一个结果集的关闭。
③如果想对多个结果集同时 *** 作,必须创建出多个Statement对象,在每个Statement对象上执行SQL查询语句以获得相应的结果集。
④如果不需要同时处理多个结果集,则可以在一个Statement对象上顺序执行多个SQL查询语句,对获得的结果集进行顺序 *** 作。
str="insertinto customer values('wangyang',24,'beijing','wangyang@sinacom')";
int recordNumber=stexecuteUpdate(str);执行executeUpdate()方法返回该SQL语句涉及的记录数。
str="select from mycustomer"; //查询表中记录
ResultSet rs=stexecuteQuery(str); 由于SQL语句是select,用executeQuery()方法,返回一个结果集保存在ResultSet对象rs中。
4、分析ResultSet对象
① 执行完毕SQL语句后,将返回一个ResultSet类的对象,它包含所有的查询结果。但对ResultSet类的对象方式依赖于光标(Cursor)的 类型,而对每一行中的各个列,可以按任何顺序进行处理(当然,如果按从左到右的顺序对各列进行处理可以获得较高的执行效率);
ResultSet类中的Course方式主要有:
ResultSetTYPE_FORWARD_ONLY(为缺省设置):光标只能前进不能后退,也就是只能从第一个一直移动到最后一个。
ResultSetTYPE_SCROLL_SENSITIVE:允许光标前进或后退并感应到其它ResultSet的光标的移动情形。
ResultSetTYPE_SCROLL_INSENSITIVE:允许光标前进或后退并不能感应到其它ResultSet的光标的移动情形。
ResultSet类中的数据是否允许修改主要有:
ResultSetCONCUR_READ_ONLY(为缺省设置):表示数据只能只读,不能更改。
ResultSetCONCUR_UPDATABLE:表示数据允许被修改。
可以在创建Statement或PreparedStatement对象时指定ResultSet的这两个特性。
Statement stmt=concreateStatement(ResultSetTYPE_FORWARD_ONLY,ResultSetCONCUR_READ_ONLY);
或
PreparedStatement pstmt=conPrepareStatement("insert into bookTable values (,,)",ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);
② ResultSet类的对象维持一个指向当前行的指针,利用ResultSet类的next()方法可以移动到下一行(在JDBC中,Java程序一次只 能看到一行数据),如果next()的返回值为false,则说明已到记录集的尾部。另外JDBC也没有类似ODBC 的书签功能的方法。
③ 利用ResultSet类的getXXX()方法可以获得某一列的结果,其中XXX代表JDBC中的Java数据类型,如 getInt()、getString()、getDate()等。访问时需要指定要检索的列(可以采用 int值作为列号(从1开始计数)或指定列(字段)名方式,但字段名不区别字母的大小写)。
示例:
while(rsnext()){
int id=rsgetInt("id");
String name=rsgetString("cName");
int age=rsgetInt("cAge");
String address=rsgetString("cAddress");
String email=rsgetString("cEmail");
Systemoutprintln(id+" "+name+" "+age+" "+address+" "+email);
}
获得结果集中的结构信息:利用ResultSet类的getMetaData()方法来获得结果集中的一些结构信息(主要提供用来描述列的数量、列的名称、列的数据类型。利用ResulSetMetaData类中的方法)。
ResultsetMetaData rsmd=rsgetMetaData();
rsmdgetColumnCount(); //返回结果集中的列数
rsmdgetColumnLabel(1); //返回第一列的列名(字段名)
例如:
Statement stmt=concreateStatement();
ResultSet rs=stmtexecuteQuery("select from TableName");
for(int i=1; i<=rsgetMetaData()getColumnCount(); i++) //跟踪显示各个列的名称
{ Systemoutprint(rs getColumnName (i)+"\t");
}
while(rsnext())
{ //跟踪显示各个列的值
for(int j=1; j<=rsgetMetaData()getColumnCount(); j++)
{ Systemoutprint(rsgetObject(j)+"\t");
}
}
5、关闭连接
(注意关闭的顺序) 例:
rsclose();
stclose();
conclose()
6、JDBC的常用API
一、Connection接口:
1createStatement():创建数据库连接
2prepareStatement(Stringsql):创建预处理语句
3prepareCall(Stringsql):创建可调用语句
4getAutoCommit():获取自动提交的模式
5setAutoCommit():设置自动提交的模式
6commit():提交所执行的SQL语句
7rollback():回滚所执行的SQL语句
8getMetaData():获取一个DatabaseMetaData对象,该对象包含了有关数据库的基本信息
9close():关闭数据库连接
10isClose():判断数据库连接是否超时或被显示关闭
二、Statement接口:
1execute(Stringsql):执行SQL语句,如果返回值是结果集则为true,否则为false
2executeQuery(Stringsql):执行SQL语句,返回值为ResultSet
3executeUpdate(Stringsql):执行SQL语句,返回值为所影响的行数
4addBatch(Stringsql):向当前Statement对象的命令列表中添加新的批处理SQL语句
5clearBatch():清空当前Statement对象的命令列表
6executeBatch():执行当前Statement对象的批处理语句,返回值为每个语句所影响的函数数组
7getConnection():返回创建了该Statement对象的Connection对象
8getQueryTimeout():获取等待处理结果的时间
9setQueryTimeout():设置等待处理结果的时间
三、ResultSet接口:
1first()/beforeFirst():将游标移动到ResultSet中第一条记录(的前面)
2last()/afterLast():将游标移动到ResultSet中最后一条记录(的后面)
3absolute(intcolumn):将游标移动到相对于第一行的指定行,负数则为相对于最后一条记录
4relative(introws):将游标移动到相对于当前行的第几行,正为向下,负为向上
5next():将游标下移一行
6previous():将游标上移一行
7insertRow():向当前ResultSet和数据库中被插入行处插入一条记录
8deleteRow():将当前ResultSet中的当前行和数据库中对应的记录删除
9updateRow():用当前ResultSet中已更新的记录更新数据库中对应的记录
10cancelUpdate():取消当前对ResultSet和数据库中所做的 *** 作
11findColumn(StringcolumnName):返回当前ResultSet中与指定列名对应的索引
12getRow():返回ResultSet中的当前行号
13refreshRow():更新当前ResultSet中的所有记录
14getMetaData():返回描述ResultSet的ResultSetMetaData对象
15isAfterLast():是否到了结尾
16isBeforeFirst(): 是否到了开头
17isFirst():是否第一条记录
18isLast(): 是否最后一条记录
19wasNull():检查列值是否为NULL值,如果列的类型为基本类型,且数据库中的值为0,那么
这项检查就很重要。由于数据库NULL也返回0,所以0值和数据库的NULL不能区分。如果列的类型为对象,可以简单地将返回值与null比较
20close():关闭当前ResultSet
四、ResultSetMetaData接口:
1getColumnCount():返回ResultSet中列的数目
2getColumnName():返回列在数据库中的名称
3getColumnType():返回列的SQL类型
4isReadOnly():表示该数据项是否为只读值
5isNullable():表示该列是否可以存储NULL
示例:
import javasql;public class JDBCTest {
public static void main(String[] args){
// 驱动程序名
String driver = "commysqljdbcDriver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127001:3306/test";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
try {
// 加载驱动程序
ClassforName(driver);
// 连续数据库
Connection conn = DriverManagergetConnection(url, user, password);
if(!connisClosed())
Systemoutprintln("Succeeded connecting to the Database!");
// statement用来执行SQL语句
Statement statement = conncreateStatement();
// 要执行的SQL语句
String sql = "select from pet";
// 结果集
ResultSet rs = statementexecuteQuery(sql);
Systemoutprintln("-----------------");
String name = null;
while(rsnext()) {
// 选择sname这列数据
name = rsgetString("name");
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(namegetBytes("ISO-8859-1"),"GB2312");
// 输出结果
Systemoutprintln(rsgetString("ID") + "\t" + name);
}
rsclose();
connclose();
} catch(ClassNotFoundException e) {
Systemoutprintln("Sorry,can`t find the Driver!");
eprintStackTrace();
} catch(SQLException e) {
eprintStackTrace();
} catch(Exception e) {
eprintStackTrace();
}
}
}
以上就是关于vb链接sqlsever数据库代码怎么写全部的内容,包括:vb链接sqlsever数据库代码怎么写、asp链接数据库 中表的代码怎么写、求DW链接ACCESS数据库的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)