Эта часть должна добавить поезд в таблицу TRAININFO в моей базе данных. Я должен использовать mysql.Почему этот код работает неправильно?
Так что есть некоторые ограничения, которые я должен видеть перед добавлением поезда.
jTextField1.getText()
; TrainNo. не должно быть больше 6 символов, и оно должно быть целым числом.jTextField2.getText()
; TrainName. Не должно быть более 30 символов.jTextField10,jTextField12
имеют Дептет и время araivaltime соответственно. Он имеет 5 символов, «hr: mn». Поэтому я должен проверить, 'hr' < = 24 и 'mn' < = 59.- Если значение
jTextField3.getText()==0
(количество вагонов ac1), то поезд для вагонов ac1 (tfac1) также должен быть равен 0.
Учитывая это, я попытался его кодировать. но это не сработает.
когда я запускаю это сообщение об ошибке.
Пожалуйста, скажите мне, где я ошибаюсь.
StackTrace: [Ljava.lang.StackTraceElement; @ e596c9
хорошо Вот как это должно работать:
String m="-",t="-",w="-",th="--",f="-",st="--",s="-",runson;
if(jCheckBox1.isSelected()==true)
{
m="m";
}
if(jCheckBox2.isSelected()==true)
{
t="t";
}
if(jCheckBox3.isSelected()==true)
{
w="w";
}
if(jCheckBox4.isSelected()==true)
{
th="th";
}
if(jCheckBox5.isSelected()==true)
{
f="f";
}
if(jCheckBox6.isSelected()==true)
{
st="st";
}
if(jCheckBox7.isSelected()==true)
{
s="s";
}
runson=m+t+w+th+f+st+s;
int h1=Integer.valueOf(jTextField10.getText().substring(0,2));
int mins1=Integer.valueOf(jTextField10.getText().substring(3,5));
int h2=Integer.valueOf(jTextField12.getText().substring(0,2));
int mins2=Integer.valueOf(jTextField12.getText().substring(2,3));
String time1=jTextField10.getText().substring(0,2)+jTextField10.getText().substring
(2,3)+jTextField10.getText().substring(3,5);
String time2=jTextField12.getText().substring(0,2)+jTextField12.getText().substring
(2,3)+jTextField12.getText().substring(3,5);
String tfac1=jTextField13.getText();
String tfac2=jTextField14.getText();
String tfac3=jTextField15.getText();
String tfsl=jTextField16.getText();
if(Integer.valueOf(jTextField3.getText())==0)
{
tfac1="0";
}
if(Integer.valueOf(jTextField4.getText())==0)
{
tfac2="0";
}
if(Integer.valueOf(jTextField5.getText())==0)
{
tfac3="0";
}
if(Integer.valueOf(jTextField6.getText())==0)
{
tfsl="0";
}
try
{
Class.forName("java.sql.DriverManager");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/bvdb","root","enter");
Statement stm=con.createStatement();
int n=jTextField1.getText().trim().length();
int m=jTextField2.getText().trim().length();
if(n<=6 && m<=30 && h1<=24 && h2<=24 && mins1<=59 && mins2<=59)
//This should check the constraints(1,2,3).if the condition is true the following statement will be executed ..else the catch block should be executed. But this doesn't seem to happen when i run the code. There is always an Exception raised.//
{
String q="INSERT INTO TRAININFO VALUE ("+jTextField1.getText()+",'"+jTextField2.getText()+"','"+jTextField9.getText()+"','"+time1+"','"+jTextField11.getText()+"','"+time2+"','"+runson+"',"+tfac1+","+tfac2+ ","+tfac3+","+tfsl+","+jTextField3.getText()+","+jTextField4.getText()+","+jTextField5.getText()+","+jTextField6.getText()+")";
stm.executeUpdate(q);
System.out.print("ADDED");
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this,"Enter valid details");
}
, пожалуйста, уделите время форматированию кода! – Baby
Пожалуйста, узнайте о петлях, прежде чем продолжить путь. –
Включите трассировку стека в свой вопрос. Прочтите свой собственный вопрос и подумайте, как он не описывает, что происходит неправильно. Нам нужна дополнительная информация, прежде чем мы сможем помочь. –