JiveJdon Community Forums
在线199人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 1 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
hjh303cn

发表文章: 3
注册时间: 2004年06月15日 14:42
给他发消息
我快颠了,找不出问题所在,请大侠们求救!!! 发表: 2004年06月15日 15:33 回复
本人用的是Jbuilder9,最近我在做一个系统,就差密码那部分就OK了.情况是这样的:
问题一:
其他部分的数据插入,查询,更新,删除,连接等我都是用Jbuilder来帮我完成的,Jbuilder9都有相应的组件.当然啦,组件jdbNavToolBar这个组件已经具有数据插入,查询,更新,删除的功能了,数据连接是用database来实现的.问题就在于,我想分别做"插入,查询,更新,删除"这四个按钮来实现数据的操作就不懂如何做了(当然,组件jdbNavToolBar有这个功能).不知道有没有大侠会用Jbuilder9来做这方面的按钮事件?3
问题二:(补充java环境: Jbuilder9,j2sdk1.4.2_04,SQL Server 7.0数据库系统)
(提示:以下是一个成功添加的事件)我打算自己写事件程序.我做了一个"添加产品"的页面,里面有:"名称,负责人,所属部门,单位,单价,描述"6个label和6个jTextField.以下是"添加按钮"程序代码:
void jButtonadd_actionPerformed(ActionEvent e) {
String strSQL;
String name;
String principal;
String depart;
String unit;
String unitprice;
String comment;

//判断是否产品为空
if (jTextFieldname.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"产品名称不可为空,请确认!") ;
return;
}
if (jTextFieldperson.getText() .trim() .equals("") )
{JOptionPane.showMessageDialog(null,"负责人不可为空,请确认!") ;
return;
}
if (jTextFielddep.getText() .trim() .equals("") )
{JOptionPane.showMessageDialog(null,"产品所属部门不可为空,请确认!") ;
return;
}
//生成sql语句
name=jTextFieldname.getText().trim() ;
principal=jTextFieldperson.getText() .trim() ;
depart=jTextFielddep.getText() .trim() ;
unit=jTextFieldcompany.getText() .trim() ;
unitprice=jTextFieldprice.getText().trim() ;
comment=jTextFieldcomment.getText() .trim() ;
strSQL="insert into ProductInfo(Name,Principal,Depart,Unit,Unitprice,Comment) values ('";
strSQL=strSQL+name +"','";
strSQL=strSQL+principal +"','";
strSQL=strSQL+depart+"','";
strSQL=strSQL+unit

+"','";
strSQL=strSQL+unitprice +"','";
strSQL=strSQL+comment +"'";
strSQL=strSQL+")";
//执行数据库语句
if (db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"添加成功") ;}
else
{JOptionPane.showMessageDialog(null,"添加失败,请重新添加") ;}
}


以上的db.executeSql(strSQL)是DBManager类的一个实例,是用来连接数据库用的.以下是DBManager类的程序代码:
package productmanager;
//;引入sql包
import java.sql.*;
import com.borland.dx.sql.dataset.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004.6.7</p>
* <p>Company: </p>
* @author:黄健桓
* @version 1.0
*/
//数据库操作类
public class DBManager {
//定义数据集
ResultSet rs;
//创建指定的数据库URL
String url = "jdbc:datadirect:sqlserver://202.129.21.125:1433;DataBaseName=productsystem ";
String username = "sa";
String password = "";

//缺省构造方法
public DBManager() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//查询方法,返回查询结果集
public ResultSet getResult(String sql) {
try {
//加载驱动程序
Class.forName("com.ddtek.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection(url,username,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(sql);
return rs;
}
//异常处理
catch (Exception e) {
System.out.println("getResult-----" + e.toString());
return null;
}
}
public boolean executeSql(String sql) {
try {
Class.forName("com.ddtek.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection(url,username,password) ;
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
conn.commit() ;
return true;
}
catch (Exception e) {
System.out.println("executeSql------"+e.toString() );
return false;
}
}
private void jbInit() throws Exception {
}
}


好了,以上这些都是可以成功执行添加操作的代码,这"问题二"我写了以上这些都是做为铺垫用的,以下才是我的问题所在.(这里主要说明了我的代码没有错,包括数据库连接类也没错.)言归正传:前面我说我就差做用户密码登陆,修改,删除这方面的操作.恩,对于这个问题我是这么想的:"只要DBManager可以完成数据库连接,然后我做了表'Userinfo'----是用来保存用户信息的,里面有Username,Password,Power这三个字段,这里就做好了事件的准备工夫了.
以下是我要添加用户的程序代码,如下:
void jButtonOK_actionPerformed(ActionEvent e) {
String strSQL;
String name;
String pass;
String power;
name=jTextFieldUserLogin.getText().trim() ;
pass=jPassword.getText().trim() ;
power=jComboBoxpower.getSelectedItem().toString().trim();
strSQL="insert into productuser(Username,Password) values ('";
strSQL=strSQL+name +"','";
strSQL=strSQL+pass +"','";
strSQL=strSQL+power +"','";
strSQL=strSQL+")";

if (db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"添加成功") ;}
else
{JOptionPane.showMessageDialog(null,"添加失败,请重新添加") ;}

}

}



以上这段代码在Jbuiler9中没有红色画线提示有错,在编译中也可以顺利编译(以上可能我有打错的地方,可能是我在这打错,请谅解!我的程序是可以正常编译的).在我测试是否能添加用户时:就老是弹出"添加失败,请重新添加"提示框(那是我写的提示框-----"{JOptionPane.showMessageDialog(null,"添加失败,请重新添加" "看到吧?是我写的.这段程序代码我检查过N遍了,甚至后来我是copy前面添加产品的代码的,只是修改insert到Userinfo表中,修改了所插入的字段而已.可为什么就是插入不了数据,就连我后面做Update数据的事件一出现一些问题(就是有的代码的功能可用,测试编译程序时:有一些不能用,有一些有没有用.可是这些都是应该可以正常执行才对呀!!!???我百思不得其解,这已经折磨我到现在好几天了,公司又催我交货,救命呀!!我实在受不了了,公司也只有我一个人用java的,问又没人问,本人又是菜鸟级的,只好把希望寄托在这里了,请各位大侠一定一定得帮帮小弟!!
My E-mail:hjh303cn2003@163.net
或者在这里回复也好.
谢了!




banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 我快颠了,找不出问题所在,请大侠们求救!!! 发表: 2004年06月19日 15:44 回复
如果你是在学习J2EE,我倒是可以尝试帮助你。

发现你用GUI直接调用JDBC这样类似两层结构的东西来做系统,我只能袖手旁观。这么痛苦,不如用Deplhi或VB做,何必一定要顶着Java的明目呢?
这个主题有 1 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam