注册 登录
编程论坛 J2EE论坛

可以把字节数组赋值给数据库中的Date型字段吗?

Grace_TT 发布于 2006-06-23 22:43, 1837 次点击

下面的部分程序代码是要往一个数据库中添加一条记录:
。。。。。。
。。。。。。
。。。。。。
Connection conn=DriverManager.getConnection(url,"sa","");
PreparedStatement prestmt=null;
String strSQL;
try
{
strSQL="insert into guestbook (Username,IP,Email,Comment,Mydate,flag) values(?,?,?,?,?,?)";
prestmt=conn.prepareStatement(strSQL);
prestmt.setBytes(1,alias.getBytes("GBK"));
prestmt.setBytes(2,ip.getBytes());
prestmt.setBytes(3,email.getBytes("GBK"));
prestmt.setBytes(4,msg.getBytes("GBK"));
prestmt.setBytes(5,adate.getBytes("GBK"));//此句要给字段Mydate赋值,adate.getBytes("GBK");
返回的是字节数组,而Mydate是Date型数据,可以这样
赋值吗?
prestmt.setBytes(6,flag.getBytes());
prestmt.executeUpdate();
}


谢谢!!

20 回复
#2
神vLinux飘飘2006-06-23 23:41
不可以,不过没尝试过~挖哈哈哈哈
#3
Grace_TT2006-06-24 00:06
但是书上就是这么写的呀。
#4
神vLinux飘飘2006-06-24 00:10
恩,其实,DATE在数据库中就是一个长度固定、格式固定的字符串而已
所以我经常把它转换为字符串处理,但是转换为字节数组处理,我还真的没尝试过...
#5
Grace_TT2006-06-24 00:30
嘿嘿,那你帮忙尝试一下呗。
#6
Grace_TT2006-06-24 00:33
上面这段程序中,Username,Email,Comment都是char型的
#7
神vLinux飘飘2006-06-24 01:54
prestmt.setBytes(5,adate.getBytes("GBK"));/
哈,我真傻
prestmt.setBytes 所以那是肯定可以的啦
#8
Grace_TT2006-06-24 02:32
以下是引用神vLinux飘飘在2006-6-24 1:54:44的发言:
prestmt.setBytes(5,adate.getBytes("GBK"));/
哈,我真傻
prestmt.setBytes 所以那是肯定可以的啦

prestmt.setBytes 所以那是肯定可以的啦
---------

为什么?你解释一下呀。。

#9
神vLinux飘飘2006-06-24 07:20
setBytes
#10
Grace_TT2006-06-24 07:55

setBytes怎么啦??

#11
Grace_TT2006-06-24 07:56
你多说两句不行吗?
#12
神vLinux飘飘2006-06-24 08:30
你是鬼啊!!!!!
我昨天晚上睡得比你早
你今天却比我还有精神!!!
鬼啊!!!!!!!!

setBytes按字节赋值啦,而所以adate.getBytes("GBK")他是正确的哈
#13
Grace_TT2006-06-24 09:31
呵呵。。我不是鬼,我是神!

我知道setBytes按字节赋值啦,可是,Mydate是Date型的呀,Mydate为什么能接受字节数组呢?

你是不是没明白我的意思呀,我不是问的adate.getBytes("GBK");我是问:Mydate为什么能接受字节数组呢?

#14
千里冰封2006-06-24 14:26
所以的数据都可以转在字节来存储的,对象也一样
所以你先把你要存的东西转为字节数组就不可以了吗
#15
Grace_TT2006-06-24 14:36
以下是引用千里冰封在2006-6-24 14:26:32的发言:
所以的数据都可以转在字节来存储的,对象也一样
所以你先把你要存的东西转为字节数组就不可以了吗

什么意思?
我只是想知道prestmt.setBytes(5,adate.getBytes("GBK"));这句有没有问题;也就是Date类型的数据是否能够接受字节数组数据?

难道你的意思是说,不论什么类型的数据,都可以用prestmt.setBytes来赋值?

#16
千里冰封2006-06-24 14:42
这一句当然没有问题,你一个是转化成byte[] ,一个是接受byte数组做为参数,当然没有错了
#17
神vLinux飘飘2006-06-24 15:16

开始专牛角了

#18
千里冰封2006-06-24 15:24
#19
Grace_TT2006-06-24 18:01
以下是引用千里冰封在2006-6-24 14:42:34的发言:
这一句当然没有问题,你一个是转化成byte[] ,一个是接受byte数组做为参数,当然没有错了

但是,Mydate是Date型的呀,为什么可以接受byte[] 数据呢?

#20
yangwudong2006-06-24 21:32
你干什么要把byte的放到date里面呢?再说了,有什么方法能将byte转换成为sql.date啊!?如果有就行,没有就应该不行!
#21
Grace_TT2006-06-24 22:44
不是我要把byte的放到date里面的,是书上这么写的,我看着糊涂,所以拿上来问一下。
1