帮忙看下,这段代码的错误在哪里?

kuan_ren 2008-02-19 10:50:35
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.Date;
import java.text.*;
import java.text.SimpleDateFormat;


public class NewFrame extends JFrame
{
JLabel lab1=new JLabel("设置日期:");
JLabel lab2=new JLabel("设置时间:");
JLabel lab3=new JLabel(" 标题:");
JTextField tf1=new JTextField();
JTextField tf2=new JTextField();
JTextField tf3=new JTextField();
JTextArea ta=new JTextArea();
JButton btnQue=new JButton("确定");
JButton btnCancle=new JButton("取消");
JLabel lab4=new JLabel(" shijian");

public NewFrame()
{
super();
Container conn=getContentPane();
conn.setBounds(0,0,450,450);


lab1.setFont(new Font("宋体",Font.BOLD,15));
lab2.setFont(new Font("宋体",Font.BOLD,15));
lab3.setFont(new Font("宋体",Font.BOLD,15));

lab1.setBounds(20,20,90,20);
lab2.setBounds(20,60,90,20);
lab3.setBounds(20,100,90,20);
tf1.setBounds(100,20,200,20);
tf2.setBounds(100,60,200,20);
tf3.setBounds(100,100,200,20);
conn.add(lab1);
conn.add(tf1);
conn.add(lab2);
conn.add(tf2);
conn.add(lab3);
conn.add(tf3);
JScrollPane scroll=new JScrollPane(ta);
scroll.setBounds(20,150,400,200);
conn.add(scroll);
btnQue.setBounds(20,400,90,20);

ButtonHandler handler = new ButtonHandler();
btnQue.addActionListener(handler);
conn.add(btnQue);


btnCancle.setBounds(130,400,90,20);


conn.add(btnCancle);

lab4.setBounds(20,440,20,10);
conn.add(lab4);


SimpleDateFormat dateformatD=new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat dateformatT=new SimpleDateFormat("HH:mm:ss");
Date date=new Date();
String now=(dateformatD.format(date)).toString();
String now1=(dateformatT.format(date)).toString();
tf1.setText(now);
tf2.setText(now1);

btnCancle.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{

System.exit(0);
}
});
}
private class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e)
{

String sql="";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String source="jdbc:odbc:design";
Connection con=DriverManager.getConnection(source);
Statement stmt=con.createStatement();

tf1.setText(tf1.getText());
tf2.setText(tf2.getText());
tf3.setText(tf3.getText());
sql="INSERT INTO Th1(date,time,lab,thing) VALUES(tf1.getText(),tf2.getText(),tf3.getText(),ta.getText())";
stmt.executeUpdate(sql);



}catch(Exception ew)
{
;
}
}
}


public void rePaint()
{
tf3.setText(" ");
ta.setText(" ");
}
public static void main(String[] args)
{
NewFrame newframe=new NewFrame();
newframe.setVisible(true);
}

}

编译无错,但数据库连接不上,晕死!那个btnQue按钮也点击不了,真想撞死!!!
帮忙!高手!!
...全文
351 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
cchaha 2008-02-21
  • 打赏
  • 举报
回复
LOOK LOOK
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
那个sql="INSERT INTO Th1(date,time,lab,thing) VALUES(tf1.getText(),tf2.getText(),tf3.getText(),ta.getText())"; 这句都好像没有用一样,都不能把我想要的东西加到数据库中,但是具体的值却可以,温下如何将从JTextField中得到的字符串加到数据库中?
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
我又连了下,错误还是那个,会不会是我的前面连接数据库的语句写的不对?在问下,楼上的是用LZ的代码连的吗?
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
谢谢了,雨兄!这帖我已经结了,你上我的另外个帖看看吧,我到时给你分,不好意思啊
bakeloar 2008-02-20
  • 打赏
  • 举报
回复
我连了下我的mysql 没问题
bakeloar 2008-02-20
  • 打赏
  • 举报
回复
看看这一句吧
sql="INSERT INTO Th1(date,time,lab,thing) VALUES(tf1.getText(),tf2.getText(),tf3.getText(),ta.getText())";
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
异常原因是:未发现数据源并未指定默认驱动程序.这该怎么改?
xiaoyu_air 2008-02-20
  • 打赏
  • 举报
回复
程序已帮你改正.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.Date;
import java.text.*;
import java.text.SimpleDateFormat;

public class NewFrame extends JFrame {
JLabel lab1 = new JLabel("设置日期:");
JLabel lab2 = new JLabel("设置时间:");
JLabel lab3 = new JLabel("标题:");
JTextField tf1 = new JTextField();
JTextField tf2 = new JTextField();
JTextField tf3 = new JTextField();
JTextArea ta = new JTextArea();
JButton btnQue = new JButton("确定");
JButton btnCancle = new JButton("取消");
JLabel lab4 = new JLabel("shijian");

JLabel labCue = new JLabel("");

public NewFrame() {
super();
setSize(500, 600);
Container conn = getContentPane();
conn.setBounds(0, 0, 450, 450);

lab1.setFont(new Font("宋体", Font.BOLD, 15));
lab2.setFont(new Font("宋体", Font.BOLD, 15));
lab3.setFont(new Font("宋体", Font.BOLD, 15));

lab1.setBounds(20, 20, 90, 20);
lab2.setBounds(20, 60, 90, 20);
lab3.setBounds(20, 100, 90, 20);
tf1.setBounds(100, 20, 200, 20);
tf2.setBounds(100, 60, 200, 20);
tf3.setBounds(100, 100, 200, 20);
conn.add(lab1);
conn.add(tf1);
conn.add(lab2);
conn.add(tf2);
conn.add(lab3);
conn.add(tf3);

conn.add(labCue);
labCue.setBounds(20, 20, 240, 240);


JScrollPane scroll = new JScrollPane(ta);
scroll.setBounds(40, 150, 400, 200);
conn.add(scroll);
btnQue.setBounds(20, 400, 90, 20);

ButtonHandler handler = new ButtonHandler();
btnQue.addActionListener(handler);
conn.add(btnQue);

btnCancle.setBounds(130, 400, 90, 20);

conn.add(btnCancle);

lab4.setBounds(20, 440, 20, 10);
conn.add(lab4);

SimpleDateFormat dateformatD = new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat dateformatT = new SimpleDateFormat("HH:mm:ss");
Date date = new Date();
String now = (dateformatD.format(date)).toString();
String now1 = (dateformatT.format(date)).toString();
tf1.setText(now);
tf2.setText(now1);

btnCancle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

System.exit(0);
}
});

}

private class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnQue) {

String sql = "";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String source = "jdbc:odbc:design";
Connection con = DriverManager.getConnection(source);
Statement stmt = con.createStatement();

tf1.setText(tf1.getText());
tf2.setText(tf2.getText());
tf3.setText(tf3.getText());
sql = "insert into Th1 " +
"values('" + tf1.getText() + "','" + tf2.getText() + "','" + tf3.getText() + "','" + ta.getText() + "')";

stmt.executeUpdate(sql);
labCue.setForeground(Color.green);
labCue.setText("数据插入成功");


} catch (Exception ew) {
labCue.setForeground(Color.RED);
labCue.setText("数据插入失败");

}
}
}
}

public void rePaint() {
tf3.setText(" ");
ta.setText(" ");
}

public static void main(String[] args) {
NewFrame newframe = new NewFrame();
newframe.setVisible(true);
}

}
// 更改处已用红色字体标实
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
那个配置是成功了,可是我又运行了下程序,还是提醒有错误: java.sql.SQLException:[microsoft][ODBE SQL Server Driver][SQL Server]第一行:':'附近有语法错误.这是怎么回事啊?应该上哪去改?
yiyi_wx 2008-02-20
  • 打赏
  • 举报
回复
服务器是本机吗?是的话local要加括号的
如果是其他机器。。。
我没试过~
不过应该输入IP就可以了吧~
wuxo84 2008-02-20
  • 打赏
  • 举报
回复
数据表里的那四个字段类型都是String么?
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
我按你说的都不行啊,到第一个"下一步"就不行了,说不存在,这是怎么回事?
yiyi_wx 2008-02-20
  • 打赏
  • 举报
回复
控制面板—》管理工具—》数据源(odbc)—》—》系统DSN—》添加—》选中最后一个即SQL Server—完成
然后输入你的数据源名称,描述不用写,之后填写你的服务器名称,如果为本机则填为(local)
—》下一步—》下一步——》选中“更改默认的数据库”(选中你的数据库)—》下一步—》完成
这就好了,之后可以点击一下“测试数据源”,提示检测成功就ok了
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
那该怎么改呢?麻烦你写下步骤,好吗?谢谢
老紫竹 2008-02-20
  • 打赏
  • 举报
回复
第一,那个按钮能按下去
第二,
} catch (Exception ew) {
ew.printStackTrace(); // 这里打印异常看看,里面有发生错误的原因
;
}
yan55667 2008-02-20
  • 打赏
  • 举报
回复
配置是 控制面板里的数据源
不在代码里
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
我也不知道是不是配置好了,你帮我看下,那代码就在上面的,我是初学的,不好意思啊,都是自己看的
yiyi_wx 2008-02-20
  • 打赏
  • 举报
回复
现在先把数据源配置好了再说,先不要管文本框,你确定你数据源配置好了吗?
kuan_ren 2008-02-20
  • 打赏
  • 举报
回复
还是一样的错误啊,照你说的改了,但还是没有结果,还是未发现数据源并未指定默认驱动程序的这个错误,我也不知道哪错了,老是不行啊,
yiyi_wx 2008-02-20
  • 打赏
  • 举报
回复
我的意思是想把文本框里的东西改了后再放进文本框里

===================================


如果是通过客户端来改文本框,那么悄你直接getText()就行了啊
没必要再setText了
加载更多回复(10)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧