如何获取oracle.jdbc.driver.oraclepreparedstatement中的属性值

如何获取oracle.jdbc.driver.oraclepreparedstatement中的属性值,第1张

给你找了一段代码,我稍微加了点内容(服务名的内容)

另外,现在连接oracle用ojdbc6jar,不要用太老的什么class12jar什么的

/

  一个非常标准的连接Oracle数据库的示例代码

 /

public void testOracle()

{

    Connection con = null;// 创建一个数据库连接

    PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement

    ResultSet result = null;// 创建一个结果集对象

    try

    {

        ClassforName("oraclejdbcdriverOracleDriver");// 加载Oracle驱动程序

        Systemoutprintln("开始尝试连接数据库!");

        String url = "jdbc:oracle:thin:@127001:1521:XE";// 127001是本机地址,XE是精简版Oracle的默认数据库的SID

        // 如果是服务名,则用String url = "jdbc:oracle:thin:@127001:1521/ORCL

        String user = "system";// 用户名,系统默认的账户名

        String password = "147";// 你安装时选设置的密码

        con = DriverManagergetConnection(url, user, password);// 获取连接

        Systemoutprintln("连接成功!");

        String sql = "select  from student where name=";// 预编译语句,逗看地代表参数

        pre = conprepareStatement(sql);// 实例化预编译语句

        presetString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引

        result = preexecuteQuery();// 执行查询,注意括号中不需要再加参数

        while (resultnext())

            // 当结果集不为空时

            Systemoutprintln("学号:" + resultgetInt("id") + "姓名:"

                    + resultgetString("name"));

    }

    catch (Exception e)

    {

        eprintStackTrace();

    }

    finally

    {

        try

        {

            // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源

            // 注意关闭的顺序,最后使用的最先关闭

            if (result != null)

                resultclose();

            if (pre != null)

                preclose();

            if (con != null)

                conclose();

            Systemoutprintln("数据库连接已关闭!");

        }

        catch (Exception e)

        {

            eprintStackTrace();

        }

    }

}

没有类似的方式,但是你这个SQL执行完结果集只有一列 可以这样写 :

int count = rsgetString(1);

记住JDBC的游标是从1开始,

希望对你有帮助。

序列化 (serialization)

将对象的状态信息转换为可以存储或传输的窗体的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 Internet 下载的代码或 Intranet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。

通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。

对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。

序列化

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

序列化的目的:

1、以某种存储形式使自定义对象持久化;

2、将对象从一个地方传递到另一个地方。

NET Framework 提供两种序列化技术:

二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等等。远程处理使用序列化“通过值”在计算机或应用程序域之间传递对象。

XML 序列化仅序列化公共属性和字段,且不保持类型保真度。当您要提供或使用数据而不限制使用该数据的应用程序时,这一点是很有用的。由于 XML 是一个开放式标准,因此,对于通过 Web 共享数据而言,这是一个很好的选择。SOAP 同样是一个开放式标准,这使它也成为一个颇具吸引力的选择。

JDBC就是一连接和 *** 作数据库的代码

这个问题我也遇到过,问题原因在于游标停留在结果集的第一条记录的前面,所以是无效的。解决办法:1在String studyUID = rsgetString("STUDY_UID"); 的前面加一句 rsnext();或者将String studyUID = rsgetString("STUDY_UID");,改写成如下

while(rsnext()){

String studyUID = rsgetString("STUDY_UID");

}

以上就是关于如何获取oracle.jdbc.driver.oraclepreparedstatement中的属性值全部的内容,包括:如何获取oracle.jdbc.driver.oraclepreparedstatement中的属性值、jdbc 访问数据 当返回的是一个唯一值时候 获取方式、序列化和jdbc有什么关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9549788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存