1、要执行建立表的sql。例如:表:Test,字段:id,name
2、插入数据。例如:insert into test(id, name)values(?,?)
3、修改数据。
4、插入3条数据。
5、修改3条数据。
6、删除2条数据。
最好是有共同的方法,例如:
public static int[] update(Connection con, Vector executeSQLVec, Object params[])
public static int[] query(String, Object[])(Connection con, Vector executeSQLVec, Object params[])
这两个方法。
2、插入数据。例如:insert into test(id, name)values(?,?)
3、修改数据。
4、插入3条数据。
5、修改3条数据。
6、删除2条数据。
最好是有共同的方法,例如:
public static int[] update(Connection con, Vector executeSQLVec, Object params[])
public static int[] query(String, Object[])(Connection con, Vector executeSQLVec, Object params[])
这两个方法。
解决方案 »
- 如何生成图片
- 在java程序中调用perl,怎么写?
- 当用以下语句“int t = Integer.valueOf(s);”把一个String类型的s转为int型的问题?
- java如何实现文件拷贝?
- 哪个字符的值是13?
- 请教高手:如何把 Office Word 中的字(包括字体、字色、字类型等)复制到 java 中。急!在线...
- 有了C#,.net JAVA怎么办啊????大家来分析一下吧有道理就给分
- 一个JAVA的package问题
- 到哪儿找sqlserver的jdbc driver: com.inet.tds.TdsDriver
- ie为什么找不到最新编译过的class文件?
- 请问如何通过HTMLDocument或者相关类读取html文本中一对标签之间的内容?
- 高手帮俺改改这段代码,要求两个按钮,一个控制播放,一个控制停止,谢了,急啊!!
直接生成一个PreparedStatement然后,自己往里面加不就可以了吗?
String conversionDate = Utility.convertDateTimeToJDBCDateTimeFormat(Utility.getFormatedDateTime(WARNEDTIME));
try {
String[] sql = new String[2];
String WARNINGFLAG = "";
String WARNEDFLAG = "";
if(warningFlag.equalsIgnoreCase("1")){
WARNINGFLAG = "1";
WARNEDFLAG = "1";
}else{
WARNINGFLAG = "2";
WARNEDFLAG = "2";
}
sql[0] = "UPDATE WORKSHEET SET WARNINGFLAG = '"+WARNINGFLAG+"',WARNEDTIME = " + conversionDate
+" WHERE WSID = '" + wsid + "'";
sql[1] = "UPDATE WARNINGINFO SET WARNEDFLAG = '"+WARNEDFLAG+"',WARNEDTIME = "+ conversionDate
+",REMARKS = '" + res + "'" + " WHERE URLID = '" + urlid + "'";
conn = getConnection();
if(warningFlag.equals("1")) InsertWarnActLogInfo(conn, actionLog);
java.sql.Statement stmt = conn.createStatement();
for(int i=0;i<sql.length;i++){
stmt.addBatch(sql[i]);
}
int[] count = stmt.executeBatch();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
closeConnection(null,conn);
}
不是已经说得很清楚了么
public static int[] query(String, Object[])(Connection con, Vector executeSQLVec, Object params[])
这两个方法从参数来看似乎不是很好
我想的是:
要有一个executeSQLVec 是一个sql的集合,里面有创建表、插入数据、修改数据、删除数据,检索数据的sql语句。
还有一个params[]来放参数,就是替换?号的数据值。
链接要不要都一样?
我想的是:
要有一个executeSQLVec 是一个sql的集合,里面有创建表、插入数据、修改数据、删除数据,检索数据的sql语句。
还有一个params[]来放参数,就是替换?号的数据值。
链接要不要都一样?
我想的是:
要有一个executeSQLVec 是一个sql的集合,里面有创建表、插入数据、修改数据、删除数据,检索数据的sql语句。
还有一个params[]来放参数,就是替换?号的数据值。
链接要不要都一样?
import java.sql.*;public class sql_data
{
Connection con = null;
Statement stm = null;
ResultSet result = null;
public sql_data()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:MydataSoure", "sa", "");
}
catch(Exception e)
{
System.err.println("驱动设备或者连接出错,操作失败");
}
}
public ResultSet executeQuery(String sql)
{
try
{
stm = con.createStatement();
result = stm.executeQuery(sql);
}
catch(SQLException e1)
{
System.err.println("查询数据出错");
}
return result;
}
public void executeUpdate(String sql)
{
try
{
stm = con.createStatement();
stm.executeUpdate(sql);
}
catch(SQLException e1)
{
System.err.println("更新数据失败");
}
} public void closeStm()
{
try
{
stm.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public void closeCon()
{
try
{
con.close();
}
catch(SQLException e1)
{
e1.printStackTrace();
}
}
}然后在JSP页面中调用此JavaBean
例如:更新数据<jsp:useBean id="a" scope="application" class="a.sql_data" />
<div align="center"><br>
<br>
<br>
<br>
<br>
<br>
<%
String Username=request.getParameter("Username");
String sql="select * from Users where cUser_Name='"+Username+"'";
ResultSet rs=a.Query(sql);
if(rs.next())
{
rs.close();
a.closeCon();
a.closeStm();
%>
<img src="../picture/login_kulian.jpg" width="87" height="87">用户名已存在,请更换用户名后重新注册
<%}
else
{
rs.close();
String Password1=request.getParameter("Password1");
String Address=request.getParameter("Address");
String Pcode=request.getParameter("Pcode");
String PAddress=request.getParameter("PAddress");
String Phone=request.getParameter("Phone");
String sql1="insert into Users values('"+Username+"','"+Password1+"','"+Address+"','"+Pcode+"','"+PAddress+"','"+Phone+"')";
a.Update(sql1);
%>
public static int[] update(Connection con, Vector executeSQLVec, Object params[])
public static int[] query(String, Object[])(Connection con, Vector executeSQLVec, Object params[])
这两个方法怎么实现?(关于SQL的批处理)
请来看贴的朋友们,仔细看看我的问题?
Connection conn = null;//数据库连接
Statement stmt=null;
public Properties autoUpdate(Vector sql){
String msg="";
Properties p=new Properties();
try{
conn.setAutoCommit(false);
for(int i=0;i<sql.size();i++){
stmt.addBatch((String)sql.get(i));
}
int[] rows=stmt.executeBatch();
conn.commit();
}
catch(SQLException e){
}
p.setProperty("errorMsg",msg);
p.setProperty("number",(new Integer(errorCode)).toString());
return p;
}