关于jdbc的问题。(150分)

  • 主题发起人 bluepeach
  • 开始时间
B

bluepeach

Unregistered / Unconfirmed
GUEST, unregistred user!
我初学java不久,现在想请大家谈谈用jdbc开发数据库应用的基本步骤和注意事项。
我用的是jbuilder3,主要想连接sql数据库。大家随便谈谈。
 
简单地说,JDBC 可做三件事:
与数据库建立连接,
发送 SQL 语句,
处理结果。
下列代码段给出了以上三步的基本示例:
Connection con = DriverManager.getConnection (URL, username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
所以你要做的是:
1。最好不要用jdbc-odbc桥,安装sql数据库的JDBC驱动,。
2。在JBUILDER的开发环境中加入安装好的JDBC驱动(如果用JDK+Notepad就可省略此步了)
3。写你的代码
 
btw:顺便问一下,如何将string变量转成short或int
 
int i = Integer.parseInt(str);
 
Integer.parseInt(String)返回int;
Short.parseShort(String) 返回short;


 
能讲讲如何安装JDBC驱动到JB/OJDEVELOPER么?
 
1.按照你的JDBC驱动的readme安装好JDBC驱动.
2.创建一个包含JDBC驱动的classes的library。
3.修改.config文件,把 新建的library加到你的project或缺省的project里。
具体步骤不太好写出来,太多了。
你还是看看JBuilder的帮助吧。位置在
Database Application Developer's Guide
--Setting up JBuilder for database applications
----Adding a JDBC driver to JBuilder
 
谢谢。一时忘了如何转换的了,懒的查。btw:jbuilder的帮助好像不怎么好使?
想查的时候不太方便。而且好像F1也没用?
jdbc我先试试,有问题再请教。jdbc for SQL的驱动哪里有?
 
FTP://166.111.136.159 有jdbc for SQL的驱动
 
还有,不好意思,问题多多。
我这里两台机器上装了jbuilder,但98上的可以显示中文。而2000上不可以显示中文。怎么回事?
 
把Editor的字体改为宋体就可以编辑中文了。
在运行的时候中文应该没问题,如果不对可以试一下改Project的Encoding。
 
eguy:不好意思,我连了两天都没有连上,有没有具体的链接?
JJams_king:我的editor选项里面竟然没有宋体,只有仿宋或新宋。我怎么试都不行。
而98的机器里面也不是宋体,但可以显示中文啊。究竟为什么?
而且我如果用swing的控件不能显示中文,但用awt的竟然就可以了。又是为什么?bug么?
 
1.我已经将一个驱动发给你了,请查收。
2。如果你的jbuilder的安装目录在c:/jbuilder
那么找到并打开文件c:/jbuilder/jdk1.2.2/jre/lib/font.properties.zh
找到并修改"SIMSUN.TTF" 为SIMSUN.TTC,保存。
就可以编辑中文了。
 
eguy:谢谢你。终于可以编辑中文了。但是邮件还没收到。也许还要晚一些。
也谢谢你的serial和key。
 
驱动是发往你的sina.com邮箱.
 
随便举个corba自定义异常的例子吧。如:
module Hello
{ interface HelloInterface
{ exception NoBody{};
void sayHello(in string name) raises(NoBody);
};
};
我的HelloInterface.java文件如下:
public class HelloInterfaceImpl extends Hello.HelloInterfacePOA {
public void sayHello(String name) throws Hello.HelloInterfacePackage.NoBody{
if (name==null){
System.out.println("missing pere");
throw NoBody;
}else
{
System.out.println("Hello! Welcome " + name +" !");
}
}
}
客户端捕捉错误
catch(Hello.HelloInterfacePackage.NoBody e){
System.err.println("No Body is coming!");
System.err.println(e);
}
客户端编译没问题。但服务器端有错。指示throw Nobody中nobody没有定义。
于是我讲其改为:throw Hello.HelloInterfacePackage.NoBody;与前面一样。
但又出错:指示hello没有定义。但为什么throws 后面的hello又没有错?
反正就这两个地方,我怎么改都不行。不知到怎么回事?
 
呵呵,原来是这样。应该是
throw new Nobody();
 
eguy:我还没有收到。发我的263吧。bluepeach@263.net。谢谢先。
JJams_King:Thanks.
<font color="red">兄弟们,大恩不言谢,什么时候有用的着我的地方,一定说话!</font>
 
谁告诉我在java里面如何表示当前时间?
另:access的数据库里可以将一个字段设定一个默认值,但SQL Server里面如何用?
 
1.Date currentTime= new Date();
2.SQL Server里面的Default就可以将一个字段设定一个默认值
 

Similar threads

回复
0
查看
864
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
956
SUNSTONE的Delphi笔记
S
顶部