在Access数据库系统的7种 *** 作对象中,用来存储数据的 *** 作对象是什么

在Access数据库系统的7种 *** 作对象中,用来存储数据的 *** 作对象是什么,第1张

是表。

表由字段和记录组成。

字段是表中的列,每个字段代表一条信息在某一方面的属性,字段有类型,如“姓名”字段是字符型的,“年龄”字段是数字型的。字段的基本属性有:字段名称、数据类型、字段大小、默认值等。

记录是数据表中的行,由一个或多个字段的值组成,一条记录是一条完整的信息,显示一个对象的所有属性。如:001、张三、男、21,可以作为一条记录。

可以使用net提供的序列化和反序列化方法来实现,你可将对象序列化成XML字符串,然后存入数据库中,当你要使用对象的时候,再把数据库中保存字符串反序列化成对象就可以使用了,以下为示例代码:

public class Cat

{

    public string Color { get; set; }

    public int Speed { get; set; }

    public string Name{ get; set; }

 }

//序列化

var cat1=new Cat{Color="Write",Speed=50,Name="MiMi" };

XmlSerializer ser = new XmlSerializer(typeof(Cat));

MemoryStream ms = new MemoryStream();

serSerialize(ms, cat1);

string xmlString = EncodingUTF8GetString(msToArray());

//xmlString就是你要保存到数据库的字符串

//反序列化

XmlSerializer dser = new XmlSerializer(typeof(Cat));

//xmlString是你从数据库获取的字符串

Stream xmlStream = new MemoryStream(EncodingUTF8GetBytes(xmlString));

Cat cat2=dserDeserialize(xmlStream) as Cat;//cat2 就是你要得到的class对象

什么》? 哎呀没必要。。

不过可实现的:如下为一个通用的例子:

假设有这么个对象:

import javaioSerializable;

public class MyObject implements Serializable {

private static final long serialVersionUID = 1L;

private int i;

public int getI() {

return i;

}

public void setI(int i) {

thisi = i;

}

}

//测试 的方法如下

import javaioByteArrayInputStream;

import javaioByteArrayOutputStream;

import javaioIOException;

import javaioObjectInputStream;

import javaioObjectOutputStream;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

public class test {

public static void main(String[] args) throws IOException,

ClassNotFoundException {

MyObject obj = new MyObject();

objsetI(4567);

write(Object2Bytes(obj));

// read();

}

public static void write(byte[] b) throws ClassNotFoundException {

Systemoutprintln(blength);

ClassforName("sunjdbcodbcJdbcOdbcDriver");

try {

Connection con = DriverManagergetConnection("jdbc:odbc:temp");

String sql = "insert into tab values()";

PreparedStatement pstmt = conprepareStatement(sql);

pstmtsetBytes(1, b);

pstmtexecute();

pstmtclose();

conclose();

} catch (Exception e) {

eprintStackTrace();

}

}

public static void read() throws ClassNotFoundException {

ClassforName("sunjdbcodbcJdbcOdbcDriver");

try {

Connection con = DriverManagergetConnection("jdbc:odbc:temp");

String sql = "select from tab";

PreparedStatement pstmt = conprepareStatement(sql);

ResultSet res = pstmtexecuteQuery();

while (res != null && resnext()) {

byte[] b = resgetBytes("key");

Systemoutprintln(blength);

MyObject obj = (MyObject) Bytes2Object(b);

Systemoutprintln(objgetI());

}

pstmtclose();

conclose();

} catch (Exception e) {

eprintStackTrace();

}

}

// 将对象转换成字节数组

public static byte[] Object2Bytes(Object obj) throws IOException {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

ObjectOutputStream oos = new ObjectOutputStream(baos);

ooswriteObject(obj);

return baostoByteArray();

}

// 将字节数组转换成为对象

public static Object Bytes2Object(byte[] b) throws IOException,

ClassNotFoundException {

ByteArrayInputStream bais = new ByteArrayInputStream(b);

ObjectInputStream ois = new ObjectInputStream(bais);

Object obj = oisreadObject();

return obj;

}

}

以上就是关于在Access数据库系统的7种 *** 作对象中,用来存储数据的 *** 作对象是什么全部的内容,包括:在Access数据库系统的7种 *** 作对象中,用来存储数据的 *** 作对象是什么、C#如何把一个类的对象存入数据库(此时在数据库里面应该保存成什么数据类型)、关于数据库保存流java流对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9273244.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存