-
netbeans!!!
دوستان من تو نت بینز جدیدم و فقط به خاطر gui خوبش واردش شدم ولی ساده ترین چیزا نظیر اینرو ایراد میگیره
public boolean query_on_DB( String _query )
{
try
{
stmt= conn.createStatement();
resSet = stmt.executeQuery( _query );
if(resSet.next())
{
return true;
}
else
{
JOptionPane.showMessageDialog(null, "nothing! ");
return false;
}
} catch (Exception e)
{
JOptionPane.showMessageDialog(null, "can not execut query! ");
return false;
}
}
/**
* Creates new form main
*/
public main() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
txtUserName = new javax.swing.JTextField();
txtPassword = new javax.swing.JPasswordField();
jLabel2 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);
jPanel2.setBorder(javax.swing.BorderFactory.create TitledBorder(null, "Login", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 18), new java.awt.Color(51, 51, 255))); // NOI18N
jButton1.setText("Login");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel2.setText("password ->");
jLabel1.setText("username ->");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.Grou pLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.TRAILING)
.addComponent(jButton1)
.addGroup(jPanel2Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(txtPassword))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(txtUserName, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.Grou pLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtUserName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jButton1)
.addContainerGap())
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.Grou pLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, jPanel1Layout.createSequentialGroup()
.addContainerGap(267, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.Grou pLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(235, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String uName = txtUserName.getText();
String uPass = txtPassword.getText();
String sql = "select * from users where user_uname='"+uName+"'"+ "and user_upass='"+uPass+"'";
if(connect_to_DB())
{
if(query_on_DB(sql))
{
JOptionPane.showMessageDialog(null, "OK!");
}
else
{
JOptionPane.showMessageDialog(null, "incorrect info!");
}
}
مثلا .next چرا نمیشناسه چیز به این سادگیو تو netbeans
و چرا باید result باید cast بشه عین همین تو eclips هسج مشکلی نداره
ممنون میشم راه نمایی کنید
-
نقل قول: netbeans!!!
کد رو کاملتر و با tag جاوا قرار بدید تا بشه خوند یا کپی کرد و تست کرد.
و اینکه به احتمال 99 درصد مشکل از نت بینز نیست احتمالا شما یه جا اشتباه کردید.
-
نقل قول: netbeans!!!
مرسی از توجهتون، این کدرو ایکلیپس بدون اشکال با ایمپورت کردن java.sql.* ران میکنه و تمام اجزارو هم میشناسه، ولی کل مشکلم اینه که نتبینز resSet = stmt.executeQuery( _query ); رو بدون کست کردن قبول نمیکنه، و همجنین result.next() رو هم نمیشناسه، ممنون میشم راهنماییم کنید.
-
نقل قول: netbeans!!!
کد رو باید کامل میذاشتید تا بشه فهمید چرا نت بینز خطا میگیره.
خروجی executeQuery یک آبجکت از کلاس ResultSet است و از اونجایی که شما فیلدها رو نذاشتید، من خودم نوعشون رو مشخص کردم، هیچ Cast کردن و... نیاز نیست و.next() هم به خوبی کار میکنه.
احتمالا شما نوع resSet رو اشتباه قرار دادید و برای همین هم نیاز به cast هست و هم .next رو نمیشناسه (که اگر هم Cast کنید در حین اجرا exception میده).
کلاس resSet باید java.sql.ResultSet باشه.