小编use*_*790的帖子

使用MySql DB获取java中预准备语句的元数据

我想获取给定预准备语句的参数名称和参数类型.我正在使用MySQL数据库.但是当我运行我的程序时,它会抛出一个错误:

Exception in thread "main" java.sql.SQLException: Parameter metadata not available for the   given statement
Run Code Online (Sandbox Code Playgroud)

在这条线上

String paramTypeName = paramMetaData.getParameterTypeName(param);
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样.如果可能,请有人帮助我.

这是我的代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.Statement;

public class Main {
  public static void main(String[] args) throws Exception {
    Connection conn = getMySqlConnection();
    Statement st = conn.createStatement();

    String query = "select * from survey where id > ? and name = ?";
    PreparedStatement pstmt = conn.prepareStatement(query);
    ParameterMetaData paramMetaData = pstmt.getParameterMetaData();
    if (paramMetaData == null) {
      System.out.println("db …
Run Code Online (Sandbox Code Playgroud)

java mysql metadata sqlexception

15
推荐指数
1
解决办法
9096
查看次数

如何更改JXTaskPaneContainer的bg颜色

我想将蓝色背景颜色更改为taskpanecontainer的白色.我用过下面这行但没有任何影响.

UIManager.put("TaskPaneContainer.background", Color.LIGHT_GRAY);
Run Code Online (Sandbox Code Playgroud)

请给我一些改变bg颜色的想法.

public class NewJFrame2 extends javax.swing.JFrame {

        public NewJFrame2() {
            initComponents();
            setSize(462, 300);
            add(doInit());
            setBackground(Color.WHITE);
        }

        private Component doInit() {
                JXTaskPaneContainer taskpanecontainer = new JXTaskPaneContainer();
                //taskpanecontainer.setLayout(new VerticalLayout(2));

                JXTaskPane taskpane1 = new JXTaskPane();
                taskpane1.setTitle("First TaskPane");
                JXTable table = new JXTable();
                DefaultTableModel model = new DefaultTableModel();
                model.addColumn("ParameterName");
                model.addColumn("ParameterType");
                model.addColumn("Operation");
                model.addRow(new Object[]{"Request", "String", "Delete"});
                model.addRow(new Object[]{"Request", "String", "Delete"});

                table.setModel(model);
                ((JComponent) taskpane1.getContentPane()).setBorder(BorderFactory.createEmptyBorder(0,5,0,5));
                taskpane1.add(table);

                taskpanecontainer.add(taskpane1);

                taskpanecontainer.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,0,0,0));

                return taskpanecontainer;
            }
    }
Run Code Online (Sandbox Code Playgroud)

我也在分享图像,所以我已经清除了你的想法.. 在此输入图像描述

谢谢

java swing swingx jxtaskpane

6
推荐指数
1
解决办法
968
查看次数

如何以编程方式在vs 2008中创建新的空白解决方案?

基于设计的方法是:新项目 - >其他项目类型 - > Visual Studio解决方案 - >空白解决方案

我必须在C#中以编程方式创建一个空白解决方案,并在此解决方案中添加新的空项目和文件.我在网上使用DTE发现了很多代码,但他们在现有的解决方案资源管理器中添加了我的空项目,所以请给我一些参考代码.

c# add-in visual-studio-2008 envdte

3
推荐指数
1
解决办法
2068
查看次数

3
推荐指数
1
解决办法
3362
查看次数

右键单击JTree节点摆动显示弹出框

我想在JTree节点右键单击时显示弹出框,而不是整个JTree组件.当用户右键单击JTree节点时,弹出框出现.如果他右键单击一个空格,JTree那么它就不会出现.那么为什么我只能为JTree节点检测鼠标事件.我已多次搜索网络,但找不到解决方案,所以请帮助我.

谢谢.

java swing jtree jpopupmenu

3
推荐指数
1
解决办法
9237
查看次数

在java应用程序中与oracle连接

我已经下载了Oracle快捷11克版并安装that.Now我想将它从Java应用程序连接.这是我的连接代码: -

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:example", "example","password123");
Run Code Online (Sandbox Code Playgroud)

但是当我试图连接它时,它会向我显示以下异常.

java.sql.SQLException: Listener refused the connection with the following error:  
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at javaapplication3.JavaApplication3.main(JavaApplication3.java:40)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试连接"xe"数据库时,它已连接.

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();   
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "example","password123");
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样?请给我一些参考或提示.

java oracle connection

3
推荐指数
2
解决办法
3万
查看次数

将JLabel置于JPanel之上

当我运行我的代码然后JLabel在后面看JPanel.为什么会这样?我必须在面板顶部显示标签.

public class ColoredRect extends JPanel{

      public double x, y, width, height;  
      public JLabel name;

      public ColoredRect(double x,double y,String label)
      {
          name = new JLabel(label);
          this.x = x;
          this.y = y;
          this.width = 100;
          this.height =40;

          setLocation((int)x,(int)y);
          setSize((int)width,(int)height);
          setBackground(Color.red);

          add(name);
       }

       public void paintComponent(Graphics g) {
            // Draw all the rects in the ArrayList.
        super.paintComponent(g);  // Fills with background color, white.
        name.setForeground(Color.BLACK);
        name.setVisible(true);
        name.setLocation((int)x+3, (int)y+3);
        name.setSize(20, 20);
        name.repaint();
       }

       public void setnewPosition(double x, double y) …
Run Code Online (Sandbox Code Playgroud)

java swing jlabel graphics2d paintcomponent

2
推荐指数
1
解决办法
3685
查看次数

如何使用java运行mysql存储过程

我有一个mysql存储过程.

DELIMITER //  
CREATE PROCEDURE GetRecordsByAge(IN Age INT)  
BEGIN 
  SELECT * FROM test1 WHERE age = Age;  
END //  
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

当我通过java运行这个存储过程然后它给出了表的所有记录.

但如果我在select语句中有条件.为什么会这样?

这是我的代码行: -

CallableStatement cStmt = null;
cStmt = con.prepareCall("{ CALL GetSpecificRecord(?) }");
cStmt.setInt(1, 25);
cStmt.execute();
ResultSet rs1 = cStmt.getResultSet();
Run Code Online (Sandbox Code Playgroud)

当我打印此结果集时,这将给出表的所有记录.

问题出在哪儿?

谢谢

java mysql sql stored-procedures

1
推荐指数
1
解决办法
325
查看次数

如何将JLabel放在矩形内

我已经创建了一个矩形,现在我必须将一个JLabel放入其中.那我怎么能把JLabel放在矩形里面呢.

代码在这里: -

public class ColoredRect extends JPanel
{

    private double x, y, width, height;  

    public ColoredRect(double x,double y)
    {
          this.x = x;
          this.y = y;
          width = 100;
          height =40;
          rect = new Rectangle2D.Double(this.x , this.y,width,height);
    }
    public void paintComponent(Graphics g) 
    {
        super.paintComponent(g);  
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.cyan);
        g2.fill(rect);
    }
}
Run Code Online (Sandbox Code Playgroud)

请给我一些实现这个的想法.

提前致谢.

java graphics swing jlabel paintcomponent

0
推荐指数
1
解决办法
1817
查看次数