简单的JDBC问题
昨天开始学习JDBC,从网上找了一段代码,分析以后能够运行了。我在那个例子上进行了修改。想在数据库中进行插入数据。代码如下:importjava.net.URL;impo...
昨天开始学习JDBC,从网上找了一段代码,分析以后能够运行了。我在那个例子上进行了修改。想在数据库中进行插入数据。
代码如下:
import java.net.URL;
import java.sql.*;
class sql{
public static void main(String args[])
{
String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=实验";
String user ="sa";//这里替换成你自已的数据库用户名
String password = "huangxu";//这里替换成你自已的数据库用户密码
String sqlStr = "insert into 学生 values('950012','黄旭','男','18','IS') insert into 学生 values('95011','黄旭','男','18','IS')";
try{ //这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //装在驱动
Connection con = DriverManager.getConnection(RL,user,password);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sqlStr );
System.out.println( "操作数据表成功!" );
System.out.println( "----------------!" );
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}
编译通过,运行后,也能在对应的数据库中加入相关的信息,可就是仍会有下面的信息
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at sql.main(sql.java:14)
请问是为什么
改成 int rs = st.executeUpdate( sqlStr );
后会提示这一句错误:sql.java:26: 无法取消引用 int
rs.close(); 展开
代码如下:
import java.net.URL;
import java.sql.*;
class sql{
public static void main(String args[])
{
String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=实验";
String user ="sa";//这里替换成你自已的数据库用户名
String password = "huangxu";//这里替换成你自已的数据库用户密码
String sqlStr = "insert into 学生 values('950012','黄旭','男','18','IS') insert into 学生 values('95011','黄旭','男','18','IS')";
try{ //这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //装在驱动
Connection con = DriverManager.getConnection(RL,user,password);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sqlStr );
System.out.println( "操作数据表成功!" );
System.out.println( "----------------!" );
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}
编译通过,运行后,也能在对应的数据库中加入相关的信息,可就是仍会有下面的信息
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at sql.main(sql.java:14)
请问是为什么
改成 int rs = st.executeUpdate( sqlStr );
后会提示这一句错误:sql.java:26: 无法取消引用 int
rs.close(); 展开
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
ResultSet rs = st.executeQuery( sqlStr );
换成:
int count = st.executeQuery( sqlStr );
换成:
int count = st.executeQuery( sqlStr );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接一楼,你可以在代码中写
st.execute( sqlStr );
这样就能执行 增删改查 的sql语句了,返回boolean
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false
st.execute( sqlStr );
这样就能执行 增删改查 的sql语句了,返回boolean
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的人说的对哦! 你要的是查询语句的语句的话,那么上面的代码才符合,要是添加和删除,更新语句的话就错了,
我想你应该好好的去看看SQL语句该怎么写哦!
因为你还没有好好的明白他们的意思。
对了SQL语句中的表名最好不要用中文描述哦!
我想你应该好好的去看看SQL语句该怎么写哦!
因为你还没有好好的明白他们的意思。
对了SQL语句中的表名最好不要用中文描述哦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询