在进行Android开发过程中,我们经常会接触到Drawable对象(官方开发文档:A Drawable is a general abstraction for "something that can be drawn"),那么,若要使用数据库来进行存储及读取
@Override
public void onCreate(SQLiteDatabase database) {
executeSQLScript(database, "createsql");
}
private void executeSQLScript(SQLiteDatabase database, string dbname){
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte buf[] = new byte[1024];
int len;
AssetManager assetManager = contextgetAssets();
InputStream inputStream = null;
try{
inputStream = assetManageropen(dbname);
while ((len = inputStreamread(buf)) != -1) {
outputStreamwrite(buf, 0, len);
}
outputStreamclose();
inputStreamclose();
String[] createScript = outputStreamtoString()split(";");
for (int i = 0; i < createScriptlength; i++) {
String sqlStatement = createScript[i]trim();
// TODO You may want to parse out comments here
if (sqlStatementlength() > 0) {
databaseexecSQL(sqlStatement + ";");
}
}
} catch (IOException e){
// TODO Handle Script Failed to Load
} catch (SQLException e) {
// TODO Handle Script Failed to Execute
}
}
数值类型包含: int tinyint bigint float decimal
tinyint 微小整型(占 1 个字节的存储空间)
bigint 极大整型(占 8 个字节的存储空间)
float 占4个字节,最多显示7个有效位。常用于成绩。
float(5,2)取值范围:
decimal 最多可以显示 28 个有效位
存储空间计算:整数部分和小数部分分开存储,将 9 的倍数包装成 4 个字节,余数占用的字节数如下:
decimal 的整数位和小数位模9的余数和字节对照表
例如: decimal(19,9)
整数部分:
小数部分:
char 定长:当列中存储的字符串达不到最大长度时,使用空格进行补足。
varchar 变长
char 浪费存储空间,但性能高。 varchar 节约存储空间,但存储性能低。
text / longtext(4G)
数值类型宽度为显示宽度,和占用存储空间大小无关;字符类型的宽度,超过则无法存储:
对于枚举类型的字段,字段值只能在列举的范围内选择。
日期时间类型: date time datetime timestamp
date 日期:
time 时间:
datetime 日期时间:
timestamp 日期时间:
日期时间函数: NOW() CURDATE() CURTIME()
NOW() 返回服务器当前的时间:
CURDATE() 返回当前日期:
CURTIME() 返回当前时间:
插入日期时间:
语法格式:
示例:
查询1天以内的记录:
查询2年前至今年的记录:
我把我以前收集的给你贴出来,希望能对你有所帮助
jsp编程从数据库中取出
1、读取数据testimageoutjsp文件
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="javasql" %>
<%@ page import="javautil" %>
<%@ page import="javatext" %>
<%@ page import="javaio" %>
<html>
<body>
<%
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection con=DriverManagergetConnection("jdbc:odbc:denglu","sa","sa");
Statement stmt=concreateStatement();
ResultSet rs=null;
int id=IntegerparseInt(requestgetParameter("id"));
String sql = "select image from picturenews where id='"+id+"'";
rs=stmtexecuteQuery(sql);
while(rsnext())
{
ServletOutputStream sout = responsegetOutputStream();
InputStream in = rsgetBinaryStream(1);
byte b[] = new byte[0x7a120];
for(int i = inread(b);i!=-1)
{
soutwrite(b);
inread(b);
}
soutflush();
soutclose();
}
%>
<body>
</html>
2、取出所要显示的showimagejsp文件
<%@ page contentType="text/html;charset=bg2312"%>
<%@ page import="javasql" %>
<html>
<head>
<title>显示数据库测试页</title>
</head>
<body>
<%
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection con=DriverManagergetConnection("jdbc:odbc:denglu","sa","sa");
Statement stmt=concreateStatement();
String sql=new String();
sql = "select id from picturenews";
ResultSet rs=stmtexecuteQuery(sql);
//显示最后一条记录的
rslast();
%>
<table>
<tr><td><img src='testimageoutjspid=<%=rsgetInt("id")%>'></td></tr>
</table>
</body>
</html>
转换C盘命令是:开始-运行-cmd-convert c:/fs:ntfs
非系统盘转换比较容易,直接右键格式化,选中NFS格式即可,或者用一般的格式转换软件都可以,一般不会造成不好影响。但系统盘(一般是C盘)就难度大了,重装系统是最好的办法,但你也可以试试Paragon Hard Disk Manager 这个软件,但强烈不建议转换系统盘,弄不好会出现莫名其妙的问题。所有盘转化前都最好要备份好你的重要资料!
以上就是关于Android 怎样用sqlite储存byte数组全部的内容,包括:Android 怎样用sqlite储存byte数组、MySQL 数据库存储类型、数据库里存储的图片字段定义类型为blob,java里对应的类型为byte[],怎么将图片显示到jsp页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)