944,185 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 2337
  • Java RSS
Feb 6th, 2005
0

Database not being populated....

Expand Post »
I have the datasoure and drivers set up, but for some reason this code is not updating the database.
import java.sql.*;

public class TestCreateCoffeeTable
{
	public TestCreateCoffeeTable()
	{
	}
	public static void main(String[] args)
	{
	   try
	   {
		String createStatement;
		
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		
		String dataSource = "jdbc:odbc:Coffeebreak";
		
		Connection con = DriverManager.getConnection(dataSource);
		
		Statement statement1 = con.createStatement();
		
		String insert;
		
		//add the info
		insert = "INSERT INTO Coffeebreak VALUES( 'Bob', 24, 23)";
		
		statement1.executeUpdate(insert);
		
	   }
	   catch(ClassNotFoundException cnfe)
	   {
		   System.err.println(cnfe);
	   }
	   catch(SQLException sqle)
	   {
		   System.err.println(sqle);
	   }
	   catch(Exception e)
	   {
		   System.err.println(e);
	   }
	}
}

I'm sure that the problem has to be with what's in bold, but it looks right...
I do have the code that created the table if you need that. It created three columns, Name, ID_NUM, and Pay...But none of those are being populated.
Similar Threads
Reputation Points: 113
Solved Threads: 19
Postaholic
server_crash is offline Offline
2,108 posts
since Jun 2004
Feb 6th, 2005
0

Re: Database not being populated....

Are you getting any errors?
Unless you have a DSN named exactly the same as the table you're trying to update that may be your problem.

Also remember that (unlike SQL standard...) MSAccess I think uses case sensitive table and field names.
The most correct form of the insert statement would also include the field names in the statement to ensure that they're in the order you want.
Furthermore you may or may not need to add a semicolon to the SQL statement. Officially it shouldn't be needed but some drivers and databases aren't as nice as others

So your SQL should be INSERT INTO Coffeebreak (Name, ID_NUM, Pay) VALUES ('Bob', 24, 23)
Team Colleague
Reputation Points: 1658
Solved Threads: 331
duckman
jwenting is offline Offline
7,719 posts
since Nov 2004
Feb 6th, 2005
0

Re: Database not being populated....

I tried that, but it's still not working. There's not exceptions thrown, and I made sure no DNS has the same name...I checked case sensitivity, and everything was correct..Did I enter everything correctly according to the data types?

Name is a String
ID_NUM is an int
Pay is an int
Reputation Points: 113
Solved Threads: 19
Postaholic
server_crash is offline Offline
2,108 posts
since Jun 2004
Feb 7th, 2005
0

Re: Database not being populated....

**************************************
Statement statement1 = con.createStatement();
****************************************

here is the problem u hav to give the query inside createStatement()

like

Statement statement1 = con.createStatement(string);

then it'll work
Reputation Points: 10
Solved Threads: 0
Light Poster
tigerxx is offline Offline
35 posts
since Sep 2004
Feb 7th, 2005
0

Re: Database not being populated....

there is no createStatement() method taking a String...

What's the returnvalue you get from executeUpdate()? That's the number of records the database reports inserted.

If it's 1 and afterwards you don't see them appearing, autocommit may be off on the database.
Either do an explicit commit or set autocommit to on.
Team Colleague
Reputation Points: 1658
Solved Threads: 331
duckman
jwenting is offline Offline
7,719 posts
since Nov 2004
Feb 7th, 2005
0

Re: Database not being populated....

I tried something like this:

System.out.println(statement1.executeUpdate(insert));

but it throws an sql exception saying simply "general error"

If I shouldn't use System.out for checking the return val, please let me know how I should be checking it.. I do have the code that created the table, so I could post that if you think it's something in effect to it..
Reputation Points: 113
Solved Threads: 19
Postaholic
server_crash is offline Offline
2,108 posts
since Jun 2004
Feb 7th, 2005
0

Re: Database not being populated....

no, the executeUpdate threw an SQLException.
If there's no more detailed information given, you got to hope your database server has a log somewhere.
Team Colleague
Reputation Points: 1658
Solved Threads: 331
duckman
jwenting is offline Offline
7,719 posts
since Nov 2004
Feb 7th, 2005
0

Re: Database not being populated....

I finally figured it out.. When I created the table, I specified the data type after the name of the field...I don't know how I could be that stupid(which is why I'm blaming my computer this time)... It did update the single test field like I wanted, but for some reason the same sql exception is being thrown. I guess it doesn't matter much now, but do you have any idea why it's still being thrown.
Reputation Points: 113
Solved Threads: 19
Postaholic
server_crash is offline Offline
2,108 posts
since Jun 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Threads
Next Thread in Java Forum Timeline: why do i compile wrong of SDK?





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC