ورود

View Full Version : سوال: netbeans!!!



saeedprz
جمعه 04 فروردین 1396, 15:35 عصر
دوستان من تو نت بینز جدیدم و فقط به خاطر 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 هسج مشکلی نداره

ممنون میشم راه نمایی کنید

vahid-p
جمعه 04 فروردین 1396, 16:07 عصر
کد رو کاملتر و با tag جاوا قرار بدید تا بشه خوند یا کپی کرد و تست کرد.
و اینکه به احتمال 99 درصد مشکل از نت بینز نیست احتمالا شما یه جا اشتباه کردید.

saeedprz
جمعه 04 فروردین 1396, 16:41 عصر
مرسی از توجهتون، این کدرو ایکلیپس بدون اشکال با ایمپورت کردن java.sql.* ران میکنه و تمام اجزارو هم میشناسه، ولی کل مشکلم اینه که نتبینز resSet = stmt.executeQuery( _query ); رو بدون کست کردن قبول نمیکنه، و همجنین result.next() رو هم نمیشناسه، ممنون میشم راهنماییم کنید.

vahid-p
یک شنبه 06 فروردین 1396, 13:01 عصر
کد رو باید کامل میذاشتید تا بشه فهمید چرا نت بینز خطا میگیره.
خروجی executeQuery یک آبجکت از کلاس ResultSet است و از اونجایی که شما فیلدها رو نذاشتید، من خودم نوعشون رو مشخص کردم، هیچ Cast کردن و... نیاز نیست و.next() هم به خوبی کار میکنه.
احتمالا شما نوع resSet رو اشتباه قرار دادید و برای همین هم نیاز به cast هست و هم .next رو نمیشناسه (که اگر هم Cast کنید در حین اجرا exception میده).
کلاس resSet باید java.sql.ResultSet باشه.