cbc类的代码如下,拜托大家看看: import java.sql.*;public class CreateBrigeConnection { private Connection con=null; private String data_source_name; private String url; private String user_name=null; private String password=null; /** @param dsn the dsn is data source name, this class will use it to create a JDBC-ODBC connection. * @param user_name is user name,we can use it to access the db. * @param pwd is password of user_name. * @exception EmptyDSNException the, construction will throw a this exception, if the DSN is empty. */ public CreateBrigeConnection(String dsn,String user_name,String pwd) throws EmptyDSNException { if (dsn=="") throw new EmptyDSNException(); else { data_source_name=dsn; url="jdbc:odbc:"+dsn; this.user_name=user_name; password=pwd;
内容如下:
数据库:urldb
表:url
字段:id(主键),keyword(文本类型),url(文本类型)
代码:
StringBuffer sql=new StringBuffer();
Connection con_urldb=cbc.getConnection();
//con_urldb已经测试了,有效
url="testurl";
sql.append("INSERT INTO url (keyword,url) VALUES (");
sql.append("'testkey'");
sql.append(",");
sql.append("'"+url+"'");
sql.append(")");
System.out.println(sql.toString());
stmt = con_urldb.createStatement();
int i=stmt.executeUpdate(sql.toString());
System.out.println(i);
结果是:
INSERT INTO url (keyword,url) VALUES ('testkey','testurl')
1
import java.sql.*;public class CreateBrigeConnection
{
private Connection con=null;
private String data_source_name;
private String url;
private String user_name=null;
private String password=null;
/** @param dsn the dsn is data source name, this class will use it to create a JDBC-ODBC connection.
* @param user_name is user name,we can use it to access the db.
* @param pwd is password of user_name.
* @exception EmptyDSNException the, construction will throw a this exception, if the DSN is empty.
*/
public CreateBrigeConnection(String dsn,String user_name,String pwd) throws EmptyDSNException
{
if (dsn=="")
throw new EmptyDSNException();
else
{
data_source_name=dsn;
url="jdbc:odbc:"+dsn;
this.user_name=user_name;
password=pwd;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection(url,user_name,pwd);
}
catch(ClassNotFoundException e)
{
System.out.println(e.toString());
}
catch(SQLException e)
{
System.out.println(e.toString());
}
}
}
/** @param none
* @return con,the con is a java.sql.Connection object that will be use for you.
*/
public Connection getConnection()
{
return con;
}
public void end()
{
try
{
con.close();
}
catch(SQLException e)
{
System.out.println(e.toString());
}
}
}
con_urldb.commit();
还是没有变化
INSERT INTO url (keyword,url) VALUES ('testkey','testurl')
1
则表明同样的数据可以插入两次,由于主键的原因,这是不可能的,所以我想到可能没有commit,不过现在照你说的,就不是这个原因了,真让人无法理解!
用select可以检索数据,没问题。但还是不能插入数据。
另,你用的驱动是什么,如方便,可否告诉我下载地址或把驱动mail给我,我用的是ms access 2000。mail是[email protected]。谢谢。
还有!如果你的select可以,说明你的驱动和连接都没有问题,应该不需要换什么其它的驱动,还有,access是不要user和password的,你的那个方法根本不需要什么password和user。嗬嗬!
写那个cbc类的时候,主要是自己比较懒得记住哪些桥连接的步骤,所一些了一个自己用。访问access可能不用密码,但是access有用户管理功能,另外,cbc也可以用来连接别的数据库,因为它是面向odbc的,和具体的数据库没什么关系,所以我想有pws和username比较好一些,呵呵。谢谢你.另外,也谢谢所有帮助我的热心人。
现在问题解决了就好!我还是不明白怎么回事!不过我想多半是数据库设定的问题了吧!
解决办法:
执行完insert into 后,再执行一次选择 select 就有了
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]