这是我用来将图片另存为database.cs中的base64String TEXT的代码.

public void CreateDatabase(string sqldb_name)

{

try

{

sqldb_message = "";

string sqldb_location = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

string sqldb_path = Path.Combine(sqldb_location, sqldb_name);

bool sqldb_exists = File.Exists(sqldb_path);

if(!sqldb_exists)

{

//Adding new fields

//For adding new fields we have to define the field on the "create" query, in this case, we're adding "BirthDay" field which is VARCHAR

sqldb = SQLiteDatabase.OpenOrCreateDatabase(sqldb_path,null);

sqldb_query = "CREATE TABLE IF NOT EXISTS MyTable (_id INTEGER PRIMARY KEY AUTOINCREMENT, Art TEXT, Album VARCHAR, Artist VARCHAR, Country VARCHAR, Year INT, Genre VARCHAR, Style VARCHAR, Format VARCHAR);";

sqldb.ExecSQL(sqldb_query);

sqldb_message = "Database: " sqldb_name " created";

}

else

{

sqldb = SQLiteDatabase.OpenDatabase(sqldb_path, null, DatabaseOpenFlags.OpenReadwrite);

sqldb_message = "Database: " sqldb_name " opened";

}

sqldb_available=true;

}

catch(SQLiteException ex)

{

sqldb_message = ex.Message;

}

}

//Adds a new record with the given parameters

//Adding new fields

//We have to modify the CRUD (Create, Read, Update and Delete) operations by adding the new "BirthDay" field, in this case, we're adding the new string parameter "sBirthDay"

public void AddRecord(string @IMG, string sAlbum, string sArtist, string sCountry, int iYear, string sGenre, string sStyle, string sFormat)

{

try

{

//Adding new fields

//We have to modify the CRUD (Create, Read, Update and Delete) operations by adding the new "BirthDay" field to the query and assign the value "sBirthDay"

sqldb_query = "INSERT INTO MyTable (Art, Album, Artist, Country, Year, Genre, Style, Format) VALUES ('" @IMG "','" sAlbum "','" sArtist "','" sCountry "','" iYear "','" sGenre "','" sStyle "','" sFormat "');";

sqldb.ExecSQL(sqldb_query);

sqldb_message = "Record saved";

}

catch(SQLiteException ex)

{

sqldb_message = ex.Message;

}

}

我应该对代码进行哪些更改以将图像另存为数据库中的blob?

解决方法:

SQLite旨在包含约400KB的数据.将图像存储在SQLite Db中不会很好.上面写的图像路径方法更好.

如果适合您的需求,最好使用Picasso,Universal Image Loader等图像加载库.这样,您可以只保留图像URL.该图像由库缓存.来源:https://www.icode9.com/content-2-566701.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐