- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试摆脱这个错误。你介意在这里帮我一下吗?下面是我的代码。
package Viewer;
import Model.JDBC;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
public class User extends javax.swing.JFrame
{
Model.JDBC j=new JDBC();
public User()
{
initComponents();
eid.grabFocus();
}
@SuppressWarnings("unchecked")
private void saveActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
ResultSet rs = j.getData("select eid from user where eid='" + eid.getText() + "'");
if (rs.next())
{
if (eid.getText().equals(rs.getString(1)))
{
JOptionPane.showMessageDialog(null, "Existing User Name");
pwd.setText("");
cpwd.setText("");
}
}
else
{
if (eid.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"Enter User Name");
eid.grabFocus();
}
else if (pwd.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"Enter Password");
}
else if (pwd.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"Enter Password");
}
else
{
String pass = new String(pwd.getPassword());
String pas1 = new String(cpwd.getPassword());
if (pass.equals(pas1))
{
String ps = new String(pwd.getPassword());
String s = ps;
try
{
j.putData("insert into user values ('" + eid.getText() + "','" + s + "','" + ulevel.getSelectedItem() + "','"+pwd.getText()+"','"+cpwd.getText()+"')");
JOptionPane.showMessageDialog(null,"User Added Successfully.. ");
j.getCon().close();
clear();
}
catch (Exception e)
{
System.out.println(e + "101 User Adding");
}
}
else
{
JOptionPane.showMessageDialog(null,"Password Not Match");
pwd.grabFocus();
pwd.setText("");
cpwd.setText("");
}
}
}
}
catch (Exception e)
{
System.out.println(e);
}
}
private void deleteActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
ResultSet rs = j.getData("select * from user where eid='" + eid.getText() + "'");
if (rs.next())
{
if (rs.getString(1).equals(eid.getText()))
{
String a = (pwd.getText());
String b = (cpwd.getText());
if((rs.getString(2).equals(a)) && (rs.getString(2).equals(b)))
{
int t = JOptionPane.showConfirmDialog(null, "Are You Sure...?");
if(t==JOptionPane.YES_OPTION)
{
j.putData("delete from user where eid='"+eid.getText()+"'");
clear();
}
}
else if(!rs.getString(2).equals(a))
{
JOptionPane.showMessageDialog(null, "Password Not Match");
pwd.setText("");
cpwd.setText("");
}
else if(!rs.getString(2).equals(b))
{
JOptionPane.showMessageDialog(null, "Password Not Match");
pwd.setText("");
cpwd.setText("");
}
}
}
else
{
JOptionPane.showMessageDialog(null, "Invalid User Name");
clear();
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
private void eidKeyPressed(java.awt.event.KeyEvent evt)
{
if (evt.getKeyCode() == 10)
{
if (eid.getText().isEmpty())
{
//ms.massage("Enter User Name");
eid.grabFocus();
}
ulevel.grabFocus();
}
}
private void ulevelKeyPressed(java.awt.event.KeyEvent evt)
{
if (evt.getKeyCode() == 10)
{
pwd.grabFocus();
}
}
private void pwdKeyPressed(java.awt.event.KeyEvent evt)
{
if (evt.getKeyCode() == 10)
{
if (pwd.getText().isEmpty())
{
JOptionPane.showMessageDialog(null,"Enter Password");
}
else
{
cpwd.grabFocus();
}
}
}
private void cpwdKeyPressed(java.awt.event.KeyEvent evt)
{
if (evt.getKeyCode() == 10)
{
String pass = new String(pwd.getPassword());
System.out.println(pass);
String pas1 = new String(cpwd.getPassword());
System.out.println(pas1);
if (pass.equals(pas1))
{
save.grabFocus();
}
else
{
JOptionPane.showMessageDialog(null,"Password Not Match");
pwd.grabFocus();
pwd.setText("");
cpwd.setText("");
}
}
}
private void pwdActionPerformed(java.awt.event.ActionEvent evt)
{}
public void clear()
{
eid.setText("");
ulevel.setSelectedItem("Admin");
pwd.setText("");
cpwd.setText("");
}
public static void main(String args[])
{
try
{
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
{
if ("Nimbus".equals(info.getName()))
{
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch (ClassNotFoundException ex)
{
java.util.logging.Logger.getLogger(User.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
catch (InstantiationException ex)
{
java.util.logging.Logger.getLogger(User.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
catch (IllegalAccessException ex)
{
java.util.logging.Logger.getLogger(User.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
catch (javax.swing.UnsupportedLookAndFeelException ex)
{
java.util.logging.Logger.getLogger(User.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new User().setVisible(true);
}
});
}
private javax.swing.JPasswordField cpwd;
private javax.swing.JButton delete;
private javax.swing.JTextField eid;
private javax.swing.JFrame jFrame1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField pwd;
private javax.swing.JButton save;
private javax.swing.JButton search;
private javax.swing.JComboBox<String> ulevel;
private javax.swing.JButton update;
}
通过上面的代码,我试图运行一个名为“userregistry”的用户信息获取表单,其中一个名为“eid”的文本字段获取用户名,组合框名称“ulelevel”给出用户类型(管理员/用户),以及一个名为“pwd”的密码字段用于提供密码,另一个名为“cpwd”的密码字段用于确认密码。有 4 个按钮,分别命名为保存、搜索、更新、删除来执行上述操作。(搜索和更新的代码不在这里)。
我有使用这种语法创建的 SQL 表
mysql> create table user(eid varchar(45) primary key, ulevel int, pwd varchar(45
), cpwd varchar(45));
我的问题是:当我输入详细信息并单击 netbeans 说的保存按钮时
java.sql.SQLException: Column count doesn't match value count at row 101 User Adding
这可能是什么原因?
我也试过 01
catch (Exception e)
{
System.out.println(e+"01 User adding");
}
在它给我消息的那个特定地方
java.sql.SQLException: Column count doesn't match value count at row 101 User Adding
最佳答案
你得到这个错误是因为你在查询中使用的列数比你的表多,你的表包含 4 列 eid, ulelevel, pwd, cpwd
:
user(eid varchar(45) primary key, ulevel int, pwd varchar(45), cpwd varchar(45))
并且您使用了一个包含 5 列的查询 eid.getText(), s, ulelevel.getSelectedItem(), pwd.getText(), cpwd.getText()
:
j.putData("insert into user values ('" + eid.getText() + "','" + s + "','" +
ulevel.getSelectedItem() + "','"+pwd.getText()+"','"+cpwd.getText()+"')");
所以解决这个问题,一切都会好的。
注意
您的方法可能会出现语法错误或导致SQL Injection ,所以改为使用 Statement 使用 PrepapredStatement 帮助更全面、更安全。
祝你好运。
关于java - 错误说列数与值计数不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42361781/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我有点卡在 JavaScript 逻辑上来完成这个任务。 基本上 如果我给出一个数字(比如 30) 我想在两边都显示 5。 所以 25 26 27 28 29 30 31 32 33 34 35 这部
我编写的程序有问题。我无法获得输入字符串的正确字数,但我获得了正确的最长字符数。我不知道为什么,但这是我的代码。我正在做的是将一个字符串传递给一个函数,该函数将字符串中的所有字母大写。然后,该函数逐个
我有功能 public ArrayList vyberNahodnaPismena() { String[] seznamPismen = {"A", "Á", "B", "C", "Č",
这可以在 PGSQL 中完成吗?我有一个我创建的 View ,其中主机名、ip 和数据中心来自一个表,ifdesc 和 if stats 来自另一个表。 View 输出如下所示: hostname |
我想要一组来自订单文件的数据,这些数据可以为我提供客户编号、订单编号、产品、数量、价格以及每个订单的订单详细信息文件中的行数。我在最后一部分遇到问题。 Select Header.CustNo, He
我有属于街道的房子。一个用户可以买几套房子。我如何知道用户是否拥有整条街道? street table with columns (id/name) house table with columns
我有一套有 200 万个主题标签。然而,只有大约 200k 是不同的值。我想知道哪些主题标签在我的数据中重复得更多。 我用它来查找每个主题标签在我的数据集上重复了多少次: db.hashtags.ag
我有如下文件: { "_id" : "someuniqueeventid", "event" : "event_type_1", "date" : ISODate("2014-
我有以下三个相互关联的表: 主持人(有多个 session ) session (有多个进程) 过程 表结构如下: 主机表 - id, name session 表 - id, host_id, na
我需要根据 2 个字段对行进行计数以进行分组。 动物(一) id group_id strain_id death_date death_cause status --
我有一个 LINQ 语句,我正在努力改正,所以可能这一切都错了。我的目标是查询一个表并加入另一个表以获取计数。 地点 标识、显示 ProfilePlaces ID、PlaceID、通话、聆听 基本上P
我无法编写 Countifs 来完成我想要的。我每个月都会运行一份 claim 报告,其中包含大量按列组织的数据,并每月将其导出到 Excel 中。在一个单独的选项卡上,我有引用此数据复制到的选项卡的
我有一些数据采用此 sqlfilddle 中描述的格式:http://sqlfiddle.com/#!4/b9cdf/2 基本上,一个包含用户 ID 和事件发生时间的表。我想做的是根据用户发生事件的时
我有以下 SQL 语句: SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId] FROM
我试图找出一个值在列中出现的平均次数,根据另一列对其进行分组,然后对其进行计算。 我有 3 张 table ,有点像这样 DVD ID | NAME 1 | 1 2 | 1 3
我有一个非常简单的 SQL 问题。我有一个包含以下列的数据库表: 零件号 销售类型(为简单起见,称之为销售类型 1、2、3、4、5) 我希望编写一个包含以下三列的查询: 零件号 Sales Type
我创建了以下存储过程,用于计算选定位置的特定范围之间每天的记录数: [dbo].[getRecordsCount] @LOCATION as INT, @BEGIN as datetime, @END
我有一个包含一组列的表,其中一个是日期列。 我需要计算该列的值引用同一个月的次数。如果一个月内,该计数的总和超过 3,则返回。 例如: ____________________ | DATE |
看XXX数据如下: lala XXX = EL String [XXX] | TXT String | MMS String 为此,XXX数据yppz是由 lala
我是一名优秀的程序员,十分优秀!