当前位置: 代码迷 >> Java相关 >> 小弟有问题请教呀!
  详细解决方案

小弟有问题请教呀!

热度:122   发布时间:2006-12-30 21:58:01.0
小弟有问题请教呀!

package 我的数据;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;

public class peijie extends JFrame {
JPanel contentPane;
JScrollPane jScrollPane1 = new JScrollPane();
Vector data = new Vector();
Vector header = new Vector();
JTable jTable1;
public peijie()
{
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}


public static void main(String[] args)
{
peijie p=new peijie();
p.setSize(550,400);
p.show();
}


private void jbInit() throws Exception
{
header.add("编号");
header.add("姓名");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (Exception ex)
{
ex.printStackTrace();
}
try
{
Connection conn = DriverManager.getConnection("jdbc:odbc:text");
PreparedStatement st=conn.prepareStatement
("select * from authors where au_lname=?");
st.setString(1,"Green"); //冰哥这个1是意思呀???呵呵帮我解释一下啊!
ResultSet rs= st.executeQuery();
while (rs.next())
{
Vector v=new Vector();
v.add(rs.getString(1));
v.add(rs.getString(2));
data.add(v);
}
}
catch (Exception ex) {
ex.printStackTrace();
}

jTable1 = new JTable(data,header);
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(473, 317));
setTitle("Frame Title");
jScrollPane1.setBounds(new Rectangle(52, 34, 308, 220));
contentPane.add(jScrollPane1);
jScrollPane1.getViewport().add(jTable1);
}
}


----------------解决方案--------------------------------------------------------
占一个字节吧
----------------解决方案--------------------------------------------------------
1212
那我为什么换一个2就不行了呀??????
----------------解决方案--------------------------------------------------------
为什么要换2呢  
----------------解决方案--------------------------------------------------------
PreparedStatement st=conn.prepareStatement
("select * from authors where au_lname=?");
st.setString(1,"Green");

即设定 au_lname的值 是“Green”;

1表示上面的数据库查询语句中的第一个“?”
有多个“?”时 ,用1,2,3,4,。。。
表示第几个 !!!
----------------解决方案--------------------------------------------------------
12121

所以你解释一下啊.我用1就行用2就不行撒.那为什么用2不行有个原因的撒.

我怕下次我写成2了,错了不知道为什么呀?


----------------解决方案--------------------------------------------------------
1表示第一个参数,也就是第一个?出现的地方

你只有一个?,你设2,那当然会出错
----------------解决方案--------------------------------------------------------
1212

明白了,谢谢


----------------解决方案--------------------------------------------------------
  相关解决方案