java与数据库连接的问题
发布网友
发布时间:2022-04-09 07:05
我来回答
共7个回答
热心网友
时间:2022-04-09 08:34
给你一个我的例子:这是连接数据库的类:
package mypackage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class ConnectionData {
Connection myCon;
Statement myStatement;
public ConnectionData() {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("成功加载驱动");
}catch(ClassNotFoundException e1){
e1.printStackTrace();
JOptionPane.showMessageDialog(null,"加载数据库驱动失败!","提示",JOptionPane.YES_OPTION );
}
try{
myCon=DriverManager.getConnection("jdbc:odbc:MyPhoneDataSource");
myStatement=myCon.createStatement();
System.out.println("成功连接数据源");
}catch(SQLException sqe){
JOptionPane.showMessageDialog(null,"连接数据源失败!","提示",JOptionPane.YES_OPTION );
sqe.printStackTrace();
}
}
public int UpdateData(String sql){
int result = 0;
try {
result=myStatement.executeUpdate(sql);
}catch (SQLException e) {
JOptionPane.showMessageDialog(null,"sql语句执行失败!","错误提示",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return result;
}
public ResultSet QueryData(String sql){
ResultSet result = null;
try {
result=myStatement.executeQuery(sql);
}catch(SQLException e) {
JOptionPane.showMessageDialog(null,"sql语句执行失败!","错误提示",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return result;
}
public void closeData()
{
try {
myStatement.close();
myCon.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
这是用户注册的类,里面有插入语句:
package mypackage;
import javax.swing.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserLogin extends JDialog implements ActionListener{
private static final long serialVersionUID = 1L;
JLabel label1,label2;
JTextField textfield1,textfield2;
JButton button1,button2;
int myResultSet1=0;
ResultSet result;
public UserLogin(){
setTitle("用户注册");
this.setLayout(null);
label1=new JLabel("请输入用户名");
label1.setBounds(20,5,180,20);
textfield1=new JTextField(30);
textfield1.setBounds(110,5,100,25);
textfield1.addActionListener(this);
label2=new JLabel("请输入密码");
label2.setBounds(20,40,80,20);
textfield2=new JTextField(30);
textfield2.setBounds(110,40,100,25);
textfield2.addActionListener(this);
button1=new JButton("确定");
button1.setBounds(40,80,80,30);
button1.addActionListener(this);
button2=new JButton("取消");
button2.setBounds(130,80,80,30);
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
add(label1);
add(textfield1);
add(label2);
add(textfield2);
add(button1);
add(button2);
this.getContentPane().setBackground(Color.cyan);
this.setModal(true);
this.setLocation(440,280);
this.setSize(260,180);
this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0) {
String inusername,inpassword;
inusername=textfield1.getText();
inpassword=textfield2.getText();
String sqllogin="insert into usertable values ('"+inusername+"','"+inpassword+"')";
String sqlfind="select * from usertable where username='"+inusername+"'";
if(inusername.equals(""))
{
JOptionPane.showMessageDialog(null,"用户名为空,请重新输入","提示", JOptionPane.WARNING_MESSAGE) ;
}
else if(inpassword.equals(""))
{
JOptionPane.showMessageDialog(null,"密码为空,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
}
else{
ConnectionData object=new ConnectionData(); //建立连接
result=object.QueryData(sqlfind);
try {
if(result.next()){
JOptionPane.showMessageDialog(null,"用户名已存在,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
textfield1.setText("");
textfield2.setText("");
}
else{
myResultSet1=object.UpdateData(sqllogin);
if(myResultSet1!=0){
JOptionPane.showMessageDialog(null,"用户注册成功!","提示",JOptionPane.INFORMATION_MESSAGE);
dispose();
}
}
} catch (SQLException e) {
e.printStackTrace();
}
object.closeData(); //断开连接
}
}
}
插入语句是:String sqllogin="insert into usertable values ('"+inusername+"','"+inpassword+"')";
这个例子连接的是ACCESS数据库,希望能帮上你的忙。
热心网友
时间:2022-04-09 09:52
这种问题我也碰见过,当然如果是你sql语句写错了,那就不要怪我们了。那说说我的情况
我要插入数据的表,有关联这张表的外键,当你仅仅插入这个表中的时候,而关联这张表的外键所在的表没有相应数据的话,就会报错。
有什么具体问题就加534867553吧,我现在刚好下班,大约将近一个小时到家。
参考资料:如果您的回答是从其他地方引用,请表明出处
热心网友
时间:2022-04-09 11:27
private static Connection connection = null;
public static synchronized Connection getConnection() {
if (connection == null) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection = DriverManager.getConnection("jdbc:sqlserver://MYSERVER;databaseName=MYDATABASE",
"USERID", "PASSWORD");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
return connection;
}
这就是一个简单的得到数据库连接代码;
插入数据报错??将错误的信息发在这上面...
有问题就用百度Hi 找我
热心网友
时间:2022-04-09 13:18
连的什么数据库?
ms sql?或是
mysql?
写入可能问题
1 java的代码出错,根本没执行写入的代码
2 数据库写入脏数据等,被回滚数据
建议用try catch 捕捉异常
楼主多半是调试不熟悉
热心网友
时间:2022-04-09 15:26
说清楚点啊
热心网友
时间:2022-04-09 17:51
你的sql语句是怎么写的,帖上来看看.
再仔细检查和数据库的连接,以及你的数据库表.
热心网友
时间:2022-04-09 20:32
错误提示是什么,弄出来看看。
java应用调用数据库超时,数据库自己sql很正常
3、添加缓存机制,把数据库中常用的数据存放到缓存服务器中,以减少对数据库的访问;4、增加数据库资源,对数据库增加硬件资源,提升数据库处理能力。此外,可以通过监控数据库超时情况,了解系统的负载情况,定期对数据库及Java应用程序进行调优和升级,以解决数据库超时问题。
java连接数据库问题
检查一下sql server的connection有没有full.如果是认证的问题.可到sql enterprice manager->指定server->内容->安全性.把验证改为 SQL server 及 windows.点选属性检查一下port是否正确.执行%MSSQL_HOME%\80\Tools\Binn\SVRNETCN.exe 把TCP/IP启用.关掉防火墙.把SQL server update到sp3:http://www...
怎么使用JAVA连接数据库?
1、首先我们先建好数据库,然后建立好程序的目录,因为是适用于初学者的,所以就建立一个简单的java project,如图。2、进行数据库的连接编码,首先要声明这三个必要的属性url,user,password即标识数据的东西,也就是说怎么才能让程序找到你所要连接的数据库的标识。不同的数据库所用的jdbc协议不一样...
java如何连接数据库?
1、首先第一步就是在网上下载一个mysql的数据库驱动jar包,类似mysql-connector-java-5.1.20-bin.jar。新建一个JAVA项目,在项目下面创建一个lib文件夹,将驱动jar文件拷贝到lib文件夹中。2、光是拷贝到这里还不够,需要将该JAR包加入到项目的buildpath变量中。鼠标右边-》buildpath->configurebuildpath...
java连接数据库出现问题
连接被拒绝。SQL server服务器不允许你访问。检查下SQL server服务器的防火墙和ip筛选。看看端口开了没有,是否允许你所在网段访问。
java 程序连接数据库不稳定是怎么回事???
仅仅8个用户的登陆,还不足以让SQL SERVER不稳定。可能是由于服务器上的数据库安装的有问题或者是你的代码有问题导致的。检查一下吧,毕竟,单机环境和网络环境要考虑的东西是不一样的。
JAVA连接数据库问题
con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);//最底级别:只保证不会读到非法数据,上述3个问题有可能发生 con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); //默认级别:可以防止脏读 con.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);//可以防止...
关于java连接数据库的问题
可能存在的问题如下:1、java 驱动包问题,换一个驱动包试试 2、还有一种解决办法你看错误返回代码是多少,根据错误代码解决。
java项目连不上mySQL
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤:1、加载JDBC驱动程序:在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className)实现。例如:try{ //加载MySql的驱动类 Class.forName("com.mysql....
JAVA JDBC连接DB2数据库问题
在执行 JDBC 应用程序期间,驱动程序将针对当前连接的 DB2 数据库服务器验证 SQL 语句。访问期间的任何问题都会作为 Java 异常与相应的 SQLSTATE 和 SQLCODE 一起报告给应用程序。SQLJ:SQLJ 是一个用于从 Java 应用程序进行数据访问的标准开发模型。SQLJ API 是在 SQL 1999 规范中定义的。新的通用 ...